首页 > 代码库 > java-面向对象<二>-《下篇》
java-面向对象<二>-《下篇》
1.类的继承:
特点:a.继承可以简化类的定义。
b.java只支持单继承,一个子类只能继承一个父类。
c.可以有多层继承
d.子类可以继承父类的所有成员变量和成员方法,但不可以继承父
类的构造方法
e.在子类的构造方法中可以使用 super (参数列表)来调用父类的构
造方法。前提该父类有构造方法(默认情况下是无参数的构造方法,只是没有显示出来,如果定义了一个显示的有参数构造方法,原来默认的构造方法将消失,所以最好定义一个有参数的构造方法和一个无参数构造方法)
2.子类对象的实例化过程:
注意:子类构造方法中,super(…)和this(…)不能同时出现,而且只能作为第一句出现在构造方法里,这是Java规定的执行流程,第一句检查是否有super和this语句。
3.覆盖父类的方法:
相同的方法名,参数列表,返回类型,不可以缩小访问权限,可以扩大。注意:可以使用super(…)调用父类的方法,这样就可以调用父类里被覆盖的方法了。
4.final关键字
a.final标记的类不可以继承。
b.final标记的方法不可以被子类重写。
c.final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。
d.final 标记的成员变量必须在声明的同时赋值,如果在声明的时候没有赋值,那么只有一次赋值的机会,而且只能在构造方法中显式赋值,然后才能使用。
e.final标记的局部变量可以只声明不赋值,然后再进行一次性的赋值。
f.final 一般用于标记那些通用性的功能、实现方式或取值不能随意被改变的成分,以避免被误用。
注意:final 标志的变量(成员变量或局部变量)即成为常量,只能负赋值一次,但这个“常量”也只能在这个类的内部使用,不能再类的外部直接使用。当用public static final 标志常量时,它就成了全局变量,而且只能在定义时赋值,不能在构造方法中进行赋值。
java-面向对象<二>-《下篇》