JAVA语言程序设计:继承与多态.ppt
4.2继承的初始化classA{ A(){System.out.println(A);}}classBextendsA{ B(){super();System.out.println(B);}}classCextendsB{ C(){super();System.out.println(C);}}publicclassTest{ publicstaticvoidmain(String[]args){ newC(); }}编译器为子类构造方法隐式添加super()语句调用父类默认构造方法。如果父类没有默认构造方法,则必须显式地编写super语句。4.2继承的初始化classA{ A(inti){System.out.println(A);}}classBextendsA{ B(inti){System.out.println(B);}}classCextendsB{ C(){System.out.println(C);}}publicclassTest{ publicstaticvoidmain(String[]args){ newC(); }}4.2继承的初始化classAnimal{ Animal(){ System.out.println(ClassAnimal1); } Animal(Stringname){ System.out.println(ClassAnimal2:+name); }}classFishextendsAnimal{ Fish(){ System.out.println(ClassFish); }}newFish();4.2继承的初始化classAnimal{ Animal(Stringname){ System.out.println(ClassAnimal:+name); } Animal(){ System.out.println(ClassAnimal:noname); }}classFishextendsAnimal{ Fish(){ System.out.println(ClassFish); } Fish(stringname){ super(name); System.out.println(ClassFish); }}newFish(f1);newFish(); 4.2继承的初始化classAnimal{ Animal(Stringname){ System.out.println(ClassAnimal:+name); } Animal(){ System.out.println(ClassAnimal:noname); }}classFishextendsAnimal{ Fish(){ System.out.println(ClassFish); } Fish(stringname){ System.out.println(ClassFish); }}newFish(f1);newFish(); 4.4final关键字修饰变量(类的属性或局部变量)常量修饰方法不可重写修饰参数不可更改修饰类不可继承4.5Object类Java中所有的类都是继承自Object类。如果一个类在声明时没有用extends关键字显式的指定继承自某个基类,则Java隐式的指定它的默认基类为Object类。单根继承的优势在于可以在Object类定义所有对象都通用的方法,所有类都会自动继承这些方法。如equals(),clone(),toString()4.5Object类toString方法Object类定义了publicStringtoString()方法,返回值是String类型,每当个对象都会有个toString方法,作用就是描述对象的信息。要想使用toString方法必须按自己的需求重写这个方法,否则显示“类名@哈希码”4.5Object类classclassEmployee{ …… publicvoidprint(){ System.out.print(Employee:+name+,+getIncome()); }}publicclassTestToString{ publicstaticvoidmain(String[]args){ Emplo