Static:静态的
修饰:
修饰成员变量、修饰静态变量、修饰类变量、修饰方法、修饰静态方法、修饰代码块、修饰静态代码块。
静态变量他是随着类的加载而加载,他被这个类的所有对象共享,
普通成员变量是随着对象的创建而产生,在不同的对象之间是相互独立的。
2、可以用来修饰方法:静态方法
静态方法的调用:
同一个类中方法之间的调用:
静态方法不能直接调用普通方法,因为静态方法是随着类产生的,静态方法产生时普通方法还没产生呢。
普通方法调用静态方法可以创建对象调用,也可以直接就使用。
用:类名.方法名();
不同类种方法之间的调用:
无论是普通调用静态还是静态调用普通:可以用类名.方法名()调用,也可以创建对象调用。
代码块/构造代码块/成员代码块
{
}
每一次创建对象的时候都会执行,且会优先于构造方法。
静态代码块:
Static{
}
在类加载的时候只执行一次。
快速生成get和set方法:Ctrl+shift+s+r
调用构造方法:无参:alt+shift+s+c,有参:alt+shift+s+o
继承:
将子类公里有的内容提出来创建一个父类,只编写一遍代码供无数子类重复使用。
Java中只支持单根继承(只能有一个父类)
但是对子类也有规定:子类和父类之间的关系是:is-a(狗不可以放在人类里)
但是不是父类里所有的东西都可以继承:
private、构造函数、子类和父类不在同一包里的默认访问权限的。
但是子类的构造方法中,如果没有显示去调用父类的构造方法或者调用自己的其他构造,那么系统会默认调用父类的无参构造。
This:当前对象:可以调用方法、成员变量。
Supper:调用父类的构造。Super.成员变量。
如果子类在构造中显示调用了父类的某个构造,那么系统会执行对应的构造,而不执行默认的无参构造。
Public Dog()
Super(“XXX”);
{
子类构造中,显示的去调用了自己的某个构造没那么系统会先去执行你自己的那个构造,而那个构造中也会根据上两条情况没去执行对象的父类构造。
Protected:
在不同包中,只要有子父类继承关系,那子类就可以访问,