关键字总结
1. 访问限定符 可以用来声明类 属性 方法 构造方法
工程(project) 同一个包(package) 同一个类(class) 不同包中的子类
public P P P P
protected P P P
默认(default) P P
private P
2.this 1.指当前类创建的一个对象;
2.表示类中的属性;
3.在构造方法中调用当前类的另外一个构造方法(即用this关键字相互调用);
4.构造方法是在实例化对象时自动调用的,即在所用方法中优先调用,所以用this调用构造方法必须放在构造方法的首行;
3. super 1.指当前类的父类的对象
2. 指调用当前类的父类的构造方法,普通方法和属性;
3. 默认的都有一个super方法;
4.用super调用父类构造方法必须放在子类构造方法的首行;
4. final 可修饰 类 属性 方法 变量
1.用final声明的类不能有子类;
2.用final声明的方法不能被子类重写;
3.若为属性或变量(变量即为常量)意味着属性或变量的值不能再改变;
Public final class A {}
Private final t;
Public final void m () {}
5. static 可声明类 声明属性 声明方法 代码块(用{}括起来的一段代码;普通代 码块,构造块,静态代码块,同步代码块)
1. 存储在类空间中的数据;
2. 即通过static关键字将属性变为公共属性(修改一个对象的某个属性,则全部对象的相对应的属性也同时被修改);
3. 可以通过类名直接调用(非static声明的方法可调用static声明的属性或方法,反之不成立);
4. 在加载类的时候会调用(除了static方法);
5.静态代码块:静态代码块优先于主方法执行,在类中定义的静态代码块优先于构造方法执行,而且不管有多少个对象产生,静态代码块只执行一次;
补充:
1.方法必须创建对象才能调用;
2.创建静态对象的同时就调用方法,不管是否在主函数之前;
3.只要一创建对象,就会调用其中的构造方法;