继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。详细视频讲解可以点击链接观看噢「链接」
继承
继承是面向对象编程的三大特征之一,继承让我们更加容易实现类的扩展。实现代码的重用,不用再重新发明轮子(don't reinvent wheels)。
继承有两个主要作用:
1、代码复用,更加容易实现类的扩展
2、方便建模
继承的实现
从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如:
图中,哺乳动物继承了动物。意味着,动物的特性,哺乳动物都有;在我们编程中,如果新定义一个student类,发现已经有person类包含了我们需要的属性和方法,那么student类只需要继承person类即可拥有person类的属性和方法。
【示例】使用extends实现继承
public class Test{ public static void main(String[ ] args) { Student s = new Student('高淇",176,"java"); s.rest(); s.study); } } class Person { String name; int height; public void rest(){ System.outprintln("休息一会! "); } class Student extends Person { String major; //专业 public void study(){ System.out.println("在尚学堂,学习Java"); } public Student(String name,int height,String major) { //天然拥有父类的属性 this.name = name; this.height = height; this.major = major; }
instanceof运算符
instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建的对象时,返回true;否则,返回false。比如:
【示例】使用instanceof运算符进行类型判断
public class Test{ public static void main(String[ ] args) { Student s = new Student('高淇",172,"Java"); System.outprintln(s instanceof Person); System.outprintln(s instanceof Student); } }
继承的使用要点
1、父类也称作超类、基类。 子类:派生类等。
2. Java中只有单继承,没有像C+ +那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。
3. Java中类没有多继承,接口有多继承。
4. 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。
5. 如果定义一一个类时,没有调用extendsr 则它的父类是: java.lang.Object.
还没有评论,来说两句吧...