收藏 分享(赏)

Java中子类和父类间的调用关系.doc

上传人:dzzj200808 文档编号:2283613 上传时间:2018-09-09 格式:DOC 页数:2 大小:60KB
下载 相关 举报
Java中子类和父类间的调用关系.doc_第1页
第1页 / 共2页
Java中子类和父类间的调用关系.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 达内广州软件培训 http:/ 广州达内岗顶中心 广州达内江南中心天河区天寿路 105 号天寿大厦 4 层 天河龙口东路 5 号龙晖大厦 403-405 室 海珠区礼岗路 10 号 2楼 电话:020-38097500 联系电话:020-85262372 联系电话:020-34430387 Java 中子类和父类间的调用关系在讲之前,一些基本知识是应该具备的:1、如果一个类中没有定义构造器,编译器在编译时会自动加上默认无参构造器:public ClassName 2、this 和 super 的区别。3、每个类直接或间接是 Object 的子类,Object 只有一个无参构造方法。4、编译器

2、会在每个构造方法的第一行隐式添加父类的默认无参构造器,即添加super()。新手容易犯的错误:class Employee extends Object public Employee(int id) class Teacher extends Employee public Teacher() 以上代码会产生编译错误:Implicit super constructor Employee() is undefined. Must explicitly invoke another constructor因为父类定义了一个带参数的构造器,因此编译器不会添加默认无参构造方法,但是因为在子类的构造

3、器中没有显式调用父类的某个构造方法,因此编译器会自动添加super()方法, 但是父类中不存在默认无参构造方法,因此会提示默认无参构造方法未定义错误。修改后的代码:class Employee public Employee(int id) class Teacher extends Employee public Teacher() super(10);这样,在子类的构造器中显式调用了父类的某个构造器,所以编译器不会自动添加 super()方法。构造器的访问修饰符:达内广州软件培训 http:/ 广州达内岗顶中心 广州达内江南中心天河区天寿路 105 号天寿大厦 4 层 天河龙口东路 5 号

4、龙晖大厦 403-405 室 海珠区礼岗路 10 号 2楼 电话:020-38097500 联系电话:020-85262372 联系电话:020-34430387 一般可以用 public,protected,default 和 private 修饰,但是对于 private,子类是无法调用该类构造器的。多层次调用父类构造方法:假设我们有这样一个层次结构:Object-Employee-Teacher-Professorclass Employee public Employee() System.out.println(“Employee constructor called“);class

5、 Teacher extends Employee public Teacher() System.out.println(“Teacher constructor called“);class Professor extends Teacher public Professor() System.out.println(“Professor constructor called“);public class Test public static void main(String args) Employee p = new Professor();打印结果:Employee constructor calledTeacher constructor calledProfessor constructor called在创建 Professor 对象时(new Professor(),首先会找到该类的无参构造方法,然后首先调用 super()方法,调用 Teacher 类的无参构造方法,接着再调用 Employee 的无参构造方法,最后再调用 Object 的无参构造方法。最后再打印出信息。达内广州 Java 更多课程教学,请点击进入平台:http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报