首页 > 其他 > 详细

面向对象之继承

时间:2016-02-20 17:27:52      阅读:200      评论:0      收藏:0      [点我收藏+]

   以下例进行此文描述

   将学生(student)和工人(worker)的共性描述提取出来,单独进行描述,只要让学生和工人与单独描述的这个类有关系,就可以了。

class Person {
    String name;
    int age;
}
class Student extends Person {
    
    void study() {
        System.out.println("good study");
    }
}
class Worker extends Person {
    
    void work() {
        System.out.println("good work");
    }
}
public class ExtendsDemo {

    public static void main(String[] args) {
        Student s = new Student();
    }

}

   通过上例可得继承的好处:

  1. 提高了代码的复用性
  2. 让类与类之间产生了关系。有了这个关系,才有了多态的特性

   注意:千万不要为了获取其他类的功能,简化代码而继承,必须是类与类之间有所属关系才可以继承,所属关系是:is a

   记住:先有父类,再有子类。

   Java语言中,java只支持单继承,不支持多继承。因为多继承容易带来安全隐患,当多个父类中定义了相同功能时,当功能内容不同时,子类对象不确定要运行哪一个。

   若Java支持多继承:

class A {
    void show() {
        System.out.println("a");
    }
 } 
 
 class B {
    void show() {
        System.out.println("b");
    }
 }
 
 class C extends A, B {
    C c = new C();
    c.show(); //此时该打印谁呢?
 }

   但是java保留这种机制,并用另一种体现形式来完成表示——(多实现)

   java支持多层继承,也就是一个继承体系。

   

   

 

面向对象之继承

原文:http://www.cnblogs.com/yerenyuan/p/5203502.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!