首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

面向对象语言特性之继承(1)

面向对象语言特性之继承(1)

继承(inheritance)指从已有的类中派生出新的类,新的类能吸收已有的类的属性和方法,并能扩展新的能力。
继承的好处是可以解决编程中的代码冗余的问题,是实现代码重用的重要手段之一。

JAVA只支持单根继承,也就是一个类只能有一个直接父类。
继承的特点

继承表达的是" xxx is a xxx "的关系,如Dog is a Animal;
继承使用关键字extends,语法格式:

    访问修饰符 class SubClass extends SuperClass {
    }
    //例如
    public class Dog extends Animal{
    }



class.png

Pet是父类,Dog和Cat是子类,子类继承了父类的name属性和print方法,又各有自己的属性和方法。

在JAVA中,子类可以从父类继承以下内容:

    public和protected修饰的属性和方法,不论子类和父类在不在同一个包中
    可以继承默认访问修饰符修饰的属性和方法,但是子类和父类必须在同一个包中
    不能继承父类的构造方法
    不能继承父类的private属性或方法

this 和 super

super代表父类对象,this代表当前对象;
访问父类构造方法:super(参数)
访问父类属性:super.<父类属性或方法>

    super只能出现在子类的方法中(方法或是构造方法)
    super用于访问父类的成员,如父类的属性,方法,构造方法
    具有访问权限控制,不能用super访问父类的private属性
返回列表