前段时间去试一试面试,体验一下,对我这种菜鸟还是有一定帮助的,面试官问到的关于static的作用。基础知识一定要掌握好!!!(推荐书 --Java基础入门的学习)
(1)static可以修饰成员变量,即静态变量,可以通过 类名.成员变量 的形式来进行调用或者赋值,不能用来修饰局部变量(是不能用来修饰方法体中的变量),否则编译报错。
(2)static可以修饰成员方法,即静态方法,可以通过 类名.静态方法 或者 对象.静态方法 来进行调用,意味着,可以不用创建对象也可以进行调用静态方法,也因此 静态方法中不能使用 非静态变量,因为非静态变量是需要创建一个对象才能被访问。
(3)static可以修饰代码块,即静态代码块,静态代码块在类被加载的时候,就会被执行,类只会被加载一次,所以静态代码块也只会执行一次,所以对成员进行初始化的时候可以用static修饰。这里提到的类的加载感觉有必要了解一下,之后学习之后再总结一下。小测了一下,静态代码块是在main()函数之前就被执行。
(4)static修饰的类(静态内部类):静态内部类只能访问外部类的静态成员变量和静态成员方法,非静态的是不能调用的,静态内部类的实例创建是不需要外部类创建实例的,直接通过外部类.静态类 对象名=new 外部类.静态类 ();
关于单例模式:一个类只有一个实例对象的情况,用static修饰类的对象。 这里关系到Java的设计模式
大概总结这么多吧,动手试一试,就知道是啥情况,不自己敲一敲,永远都是纸上谈兵!加油吧小菜鸟!!自己给自己打气