首页 > 代码库 > 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-面向对象<二>-《下篇》