Java面向对象继承的进一步研究.docxVIP

  • 3
  • 0
  • 约3.98千字
  • 约 6页
  • 2019-08-09 发布于广东
  • 举报
了解了继承的基本概念后,下面对继承操作屮的一些注意点进行研究。 子类对象的实例化过程 在继承的操作中,对于子类对象实例化也是有要求的,及子类对象在实例化之前必须首 先调用父类中的构造方法后在调用自己的构造方法。 【子类的实例化过程】 class Pers on private String name; private int age; public Person(){ System.out.printlnC这是父类中的构造方法”); } public String getName(){ return name; } public void setName(String name){ this, name 二 n ame; } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } } class Student extends Person private String school; public Stude nt(){ System.out.println(ii是子类中的构造方法); } public void setSchool(String school){ this.school=school; public String getSchool(){ return school; } } public class ExtDemo2 { public static void main(String args[]){ Student stu二new Student(); stu.setName(张三”); stu.setAge(19); stu.setSchool(ZZUH); System.out.printlnf姓名:+stu.getName()+,年龄:,,+stu.getAge()+,学校: +stu.getSchool()); } } 运行结果为: ava ExtDemo2蹄 ava ExtDemo2 蹄 zzu 从运行结果可以清楚的发现,子类对象在实例化前会默认调用父类屮的构造方法。就好 像没有父类就没有孩子。 当然对于以上代码实际上在子类的构造方法中隐含了一个super()的语法,代码如下: class Stude nt extends Pers on { private String school; public Student(){ super(); System, out.println(“这是子类中的构造方法”); } public void setSchool(String school){ this.school=school; public String getSchool(){ return school; } } 以上程序的运行结果与之前是一样的。super表示超级的意思,在一些书中也喜欢把父 类叫做超类,上面的语法就是表示子类可以直接使用super()调用父类(超类)中的无 参构造。 方法的覆写 在继承的关系中也存在着方法覆写的概念,所谓的方法覆写就是子类定义了与父类中名 称相同的方法,但是在覆写时必须考虑到权限,即被子类覆写的方法不能拥有比父类方 法更严格的访问权限。 【方法的覆写】 class Pers on { void print(){ System.out.println(Person—void print(){}); } } class Stude nt extends Pers on { public void print(){ System.out.println(Student-void print(){}); } } public class OverrideDemoOl { public static void main(String args[]){ new Student().print(); } } 运行结杲为: V:\zhaojava OverrideDemoOl Student—Yoid printO {} 从程序的运行结果可以发现,Student子类定义了与Person父类中同名的方法,但是在 子类中此方法的访问权限被扩大了,符合覆写的概念,当方法被覆写后,子类对彖调用 的就是被覆写后的方法。 需要注意的是,在被子类覆写的方法权限缩小吋,会在编译吋产生错误。 实际上与方法的覆写概念相同的还有另外一种称为属性的覆盖,这点在开发中使用较少。 【属性的覆盖】 class Pers on { public String info=HZZU; } class Stude nt extends Pers on { public String info=zhaoH

文档评论(0)

1亿VIP精品文档

相关文档