继承的理解

继承:对类进行抽象化;也就是将存在的类构造成新的类;

比如说学生是一个类,老师是一个类,那么我们可以将学生类和老师类收纳进人这个类;那么学生和老师则为子类(派生类)、人为父类(基类);子类继承父类。

语法格式:

public class Students extends Person{
    //用extends关键字表示Students类继承Person类
}

当我们将一个类继承与另外一个时,会发生什么:

  1. 子类会继承父类的所有属性和方法;但是如果父类中属性和方法被私有化后,子类无法访问;
  2. 子类在对象实例化时会先调用父类构造器,再调动自身的构造器
//创建一个人类
public class Person{
    //设置两个属性,一个公用,一个私有化
    String name;
    private double money;
    public Person(){
        System.out.ptintln("Person的无参构造方法启动了")
    }
    public Double getMoney(){
        return Money;
    }
    public void setName(double money){
        this.Money=Money;
    }
}
public class Students extends Person{
    public Students(){
        System.out.ptintln("Students的无参构造方法启动了")
    }
}
public class Application{
    public staitc void main(String[] args){
        Students stu=new Students();//当我们将学生类实例化然后输出
    }
}
//运行结果(学生类实例化后运行)
Person的无参构造方法启动了
Students的无参构造方法启动了
//我们发现在学生类实例化时,其父类的构造器也会被调用
//回到刚才的Application类
public class Application{
    public static void main(String[] args){
        Students stu= new Students();
        stu.name="工地佬";//我们发现Students类中并没有任何属性;却访问到了其name属性;原因是因为Students类继承其父类的属性
        //stu.money;//当我们去调用其money方法时会报错;因为在父类中money属性是被私有化的,所以子类是没有办法继承的;但是父类中留有访问封装属性的方法;子类可以通过方法来访问私有属性
        stu.setMoney(10_0000);
            System.out.ptinln(stu.getMoney());
    }
}
//运行结果
工地佬
10_0000

总结:

  • 父类中的所有属性和方法都能被子类继承,可通过外部程序将子类实例化后调用;
  • 父类的私有属性不能被子类继承,只能通过访问封装属性的方法进行调用;
  • 所有的类都默认继承Object类
  • 子类只能继承一个父类,成为单继承;而父类可以拥有很多子类;

原文地址:http://www.cnblogs.com/CQliuwei/p/16917255.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性