-
每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望该类所有的对象共享同一个成员。此时就是 static 大显身手的时候了。
Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问。
查看全部 -
同名时,局部变量比成员变量优先级更高。
查看全部 -
Java会给成员变量赋初值,对局部变量不会。
查看全部 -
成员变量 vs 局部变量
查看全部 -
如果子类的构造方法中没有显示父类的构造方法,系统会默认调用父类的无参的构造方法。
查看全部 -
当父类中有无参构造方法时,即使只创建了子类的对象,但程序会自动生成父类的对象。当子类构造方法执行时,程序会自动在子类的构造方法中生成父类的构造方法(只不过不显示,也可以手写个super()调用)。
注意:1.必须把super放到子类的构造方法中的第一行。
2.当父类中有有参构造方法时,在子类构造方法中必须写上super,否则会出错。
查看全部 -
如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;
System.out.print("外部类的b:"+Outer.b);
如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
查看全部 -
创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
Inner si = new Inner();
查看全部 -
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法
查看全部 -
需要注意:
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员
2. 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
3.静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法
查看全部 -
创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
查看全部 -
Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。
查看全部 -
4.局部变量优先级更高,同名时优先调用局部变量
查看全部 -
1.成员变量可以在整个类中使用,局部变量只能在本方法中只用 2.成员变量有默认初始值,局部变量没有默认初始值 3.不同方法内可以有同名局部变量
查看全部 -
静态方法中可以直接调用同类中的静态成员,访问非静态方法和调用非静态变量,都需要通过对象
查看全部
举报