static关键字:修饰的属性叫静态属性,修饰的方法叫做静态方法,修饰的类叫静态类;
static修饰属性:
无论一个类生成了多少个对象,所有这些对象共同使用唯一一粉静态的成员变量;
一个对象对该静态成员变量进行了修改,其他对象的 静态成员变量也会随之发生改变;
如果一个成员变量是static的,那么我们可以通过 类名.变量名 的方法来使用它;
非静态的只能用new出来的对象来调用;
对于非静态成员变量来说,构建的每一个对象都各自拥有一套属性,当某个对象的属性发生变化的时候,不会影响到别的对象的属性值,但是每个对象都共有一套方法,存储在方法区中;
在非静态中既可以调用非静态的属性,非静态方法,又可以调用静态属性,静态方法,但是在静态中只能调用静态方法和静态属性;在静态块中如果要调用非静态的属性和方法,则可以通过构建出来的对象来;
总结:静态只能访问静态的,非静态的可以访问一切!
final关键字:
final可以修饰属性,方法和类;
final修饰类:
当一个类被final修饰时,表示该类是一个最终类,不能被继承,但可以继承别人;
final修饰的方法:
当一个方法被final修饰时,表示该方法是一个最终方法,不能被重写;
如果final修饰的变量是基本数据的话,则是值不能发生改变;如果修饰的是引用数据类型的话,则是不可以改变其引用(也就是不能再次为这个值赋值新的对象);
对于final类型的成员变量,有两种赋值方式:
在声明final类型的成员变量时赋上初始值;
在构造方法时赋上初始值;
instanceof关键字的使用方式:
对象 instanceof 类
表示:对象是否是类的实例;