Java之继承--创建子类

本文介绍了Java中的继承概念,通过`extends`关键字实现单继承,以及Person类和Student类的实例。Java规定类间单继承且支持多层继承,Object类作为所有类的根类。
摘要由CSDN通过智能技术生成

       Java语言通过extends关键字来实现继承。

       学生与人的继承关系是常见的一种单继承,学生是子类,人是父类。下图显示Person类与Student类的关系结构。

Student类和Person类的继承关系

       下列程序演示了Student类与Person类的继承关系。第2行定义了父类Person,第14行定义Person类的子类Student。通过继承机制,第29行子类 Student对象hh调用父类的getPerson()方法。

package chapter02;
class Person{
    private String name;
    private int age;
    public Person(){ }
    public Person (String name,int age){
        this.name = name;
        this.age = age;
    }
    public String getPerson(){
        return "姓名:" + this.name + ",年龄:" + this.age;
    }
}
class Student extends Person{
    private String className;
    public Student(){ }
    public Student(String name,int age,String className){
        super(name,age);
        this.className = className;
    }
    public String getStudent(){
        return this.getPerson() + ",班级:" + this.className;
    }
}
public class example19 {
    public static void main(String[] args) {
        Student hh = new Student("黑黑",18,"计科二班");
        System.out.println(hh.getStudent());
        System.out.println(hh.getPerson());
    }
}

       程序运行结果如下。

Person类默认继承Object类

       子类从父类继承所有非private的数据成员和成员方法作为自己的成员,可以直接访问它们;但子类不能直接访问父类的私有成员,如需访问父类私有数据成员,一般通过setter和getter方法实现。如果定义类时没有使用extends继承父类,默认该类是系统类Object的子类。

       Java程序中,Object是根类,它是所有类的祖先类。如果一个类没有继承一个父类,系统自动指定该类的父类是Object。

        下列程序演示了Person类默认继承Object类。第6行调用toString()方法,第7行调用hashCode()方法,这两个方法并没有定义在Person类中,也没有从其他类继承。Java继承机制中,Object是所有类的父类,所有类都直接或间接继承了Object类,toString()和hashCode()方法是Object类中定义的成员方法。

package chapter02;
class Person{ }
public class example20 {
    public static void main(String[] args) {
        Person hh = new Person();
        System.out.println(hh.toString());
        System.out.println(hh.hashCode());
    }
}

       运行结果如下图所示(一种运行结果)。

       注意:Java规定类之间只允许单继承,不支持多重继承,即一个子类只能继承一个父类。但是允许多层继承,即一个子类可以有一个父类,一个父类还可以有一个父类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值