static关键字:
- 使用static可以修饰成员变量,常量,方法和代码块
- 静态成员是全局的,归整个类所有,不依赖特定的对象,是被所有类的对象所共享的。
- 只要类被java虚拟机加载,就可以根据类名在全局数据域内找到他们。
同一个类的一个方法调用另一个方法时,如果被调用方法是普通方法,则默认用this作为调用者。如果被调用方法是静态方法,则默认使用类作为调用者。
没有static修饰的方法则属于该类的对象,不属于这个类的本身。因此没有static修饰的方法只能使用对象作为调用者,不能使用类作为调用者。
this关键字:
this方法总是指向调用该方法的对象。
this可以代表任何对象,当this出现在某个方法体中时,它所代表的对象是不确定的,但它的类型是确定的,它所代表的只能是当前类的实例。
super关键字:
- 可以用来调用直接父类中的属性,方法,构造方法
- 想要在子类中使用父类的属性时,就要用super.属性名
- 构造方法不能被继承(原因:构造方法必须与类名相同,因此不可能被重写,即不能被继承),但子类可以通过super调用父类的构造方法。编译器会自动生成。
- 构造方法可以被重载,一个类里面可以有多个构造方法。
final关键字:
- fianl 修饰类,不存在子类,比如String类
- final修饰方法,子类不能重写。
- final进行修饰属性,为常量,需要初始化,并且不可修改 ,常量命名通常用大写字母,每个字母中间用下划线隔开
- final进行修饰属性,子类可以使用
用final修饰的整形,字符型一旦设定进不能改变,但是修饰数组时,可以修改数组的某个位置的值,但是不能修改数组空间。