A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 心的方向 中级黑马   /  2013-11-23 17:27  /  1464 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

继承
语法:
修饰符SubClass extends SuperClass{
    //类定义部分
}
在java中,继承通过extends关键字来实现,其中SubClass称为子类,SuperClass称为父类,基类,或超类.修饰符如果是public,该类在整个项目中可见;不写public修饰符则该类只在当前包可前;不可以使用private和protected修饰符.
    继承(Inheritance):是java中实现代码重用的重要手段之一.java中只支持单继承,即每个类只能有一个父类.继承表达的是isa的关系,或者说是一种特殊和一般的关系.
    在java中,所有的java类都直接或间的接的继承了java.lang.long.Object类.Object类是所有java类的祖先.在定义一个类时,没有使用extends关键字,那么这个类直接继承Object类.
    在java中,子类可以从父类中继承的有:
Ø       继承public和protected修饰的属性和方法,不管子类和父类是否在同一个包里.
Ø       继承默认权限修饰符修饰的属性和方法,但子类和父类必须在同一个包里.
子类无法继承父类的有:
Ø       无法继承private修饰的属性和方法
Ø       无法继承父类的构造方法
如果从父类继承的方法不能满足子类的需求,在子类中可以对父类的同名方法进行重写(覆盖),以符合要求.
抽象出Dog类和Penguin类和父类Pet类(Pet类为抽象类,不能被实例化)

}
继承条件下构造方法调用规则如下
Ø       如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示调用自身的其他构造方法,则系统会默认先调用父类的无参构造 方法.在这种情况下写不写super()语句效果都是一样.
Ø       如果子类的构造方法中通过super显示调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法.
Ø       如果子类的构造方法中通过this显示调用自身的其他构造方法,在相应 构造方法中应用以上两条规则.
Ø       特别注意的是,如果存在多级继承关系,在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直到执行顶级父类Object类的无参构造方法为止.

abstract和final是功能相反的两个关键字,abstract可以用来修饰类和方法,不能用来修饰属性和构造方法.final可以用来修饰类,方法和属性,不能修饰构造方法.

2 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
赞一个,很详细,很不错{:soso_e113:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马