一.代码块:是放在一对{}之间的代码;它可以在类体中,也可以在某方法中;
1.普通代码块:{}作为类成员,是在构造方法执行前被执行;每次实例化对象时都会被执行一次;
2.静态代码块:static{},作为类成员,是在普通代码块之前执行;是第一次实例化此类对象时才执行一次,之后就不会再被执行;
3.执行顺序:
静态代码块--->普通代码块--->构造方法
二:继承:
1.使用关键字:extends
2.Java中的继承是"单继承",不能同时继承多个类。
Java支持多级继承;
3.实例化子类时,会先实例化父类对象。
4.父类的私有成员不能被继承;
父类的构造方法不能被继承;
5.子类中可以定义跟父类同名的成员属性,如果要访问父类的成员属性:super.属性名
子类中可以定义跟父类相同的成员方法,叫:重写。
三.重写和重载:
1.重写:存在继承关系,子类重写父类中的方法。返回值类型 方法名 形参列表完全一致,才构成重写,并拥有比父类更宽的访问修饰符;
2.重载:在一个类中,定义多个同名的方法,但形参列表不完全相同。跟返回值类型无关,跟形参名无关;
四:this和super:
1.this:指向当前类对象的引用;访问本类的成员属性、方法、构造方法之间访问;
必须显示使用this:
1.当局部变量覆盖成员变量;this访问成员变量
2.当一个构造方法调用另一个构造方法时,this调用其它构造方法;
2.super:指向父类对象的引用;访问父类的成员属性、方法、构造方法;
必须显示使用super:
1.子类成员覆盖父类成员时,super访问父类成员;
2.当父类没有无参的构造方法,那么在子类中必须显示使用super()调用父类中带参的构造方法;
五:final:
1.修饰成员变量:表示拥有最终的值。
2.修饰成员方法:表示最终的方法,不能被重写
3.修饰类:表示最终类,不能被继承 |
|