修饰静态方法和静态成员变量使用关键词static
main方法一定是static方法
使用static修饰的方法属于整个类所有,在整个类所在的空间中单独分配内存,没有static修饰的方法在类声明时不占用内存,当类实例化时,在生成的每个对象中单独分配内存。
static方法可以用过类名.方法名的方式调用,也可以通过对象名.方法名的形式调用。
非静态方法不能通过类名.方法名的形式调用,只能通过对象名.方法名的形式调用。
匿名对象:没有变量名的对象,直接使用“new 构造函数”的方法创建,创建完后可以直接调用类中方法,用完之后系统即刻消除,每次new一次都是创建了一个新的对象,一个匿名对象只能使用一次。
匿名对象可以作为方法的参数或返回值。
普通方法创建对象调用方法:
public void test() {
Temp temp = new Temp();
temp.laugh();
}
使用匿名变量调用方法:
public void test02() {
new Temp().laugh();
}
普通变量 直接赋值
引用变量 引用了一个内存地址
变量的实质是一小块内存单元,这一小块内存里存储着变量的值;而当变量指向一个对象时,这个变量就被称为引用变量。
Java的引用变量实际上是一个指针,它指向的是堆内存中对象实例,就相当于是为数组或对象起的一个别名。
而匿名对象是没有引用类型变量指向的对象:
适用场景:使用之后直接从内存中消失 不会长期占用内存 适用于仅仅偶尔使用的场景
不适用场景:因为使用之后直接从内存中消失 如果频繁使用该对象需要频繁在内存中创建和回收该对象创建和回收过程都要消耗系统资源 建议频繁使用对象尽量使用引用类型变量引用