Java 继承

简述

在设计类的时候,应该将通用的方法放在父类中,而将具有特殊用途的方法放在子类中。
子类对象只能继承父类的非私有属性和方法

java面向对象编程,则我们在创建类时,有些类会具有公共的属性和方法,为了使代码能够复用,我们把这些几个类共有的属性和方法放在父类中,其他类继承这个父类,则便具有了父类公有的属性和方法,同时子类还可以添加一些新的属性和方法,以满足新的需求。

关键字
extends
class Manager extends Employee
{
}
super

super不是一个对象的引用,不能将super赋给另一个对象变量,它只是一个指示编译器调用超类方法的特殊关键字

1、调用超类的方法

class Manager extends Employee
{
    public double getSalary()
    {
        double baseSalary = super.getSalary();
        return baseSalary+bonus;
    }
}

2、super调用超类的构造器

使用super调用构造器的语句必须是子类构造器的第一句语句
如果子类的构造器没有显式得调用超类的构造器,则将自动调用超类默认(无参)的构造器。如果超类没有不带参数的构造器,并且在子类中又没有显式的调用超类的其他构造器,则java编译器将报告错误

public Manager(String n,double s,int year,int month,int day)
{
    //调用超类Employee中含有n,s,year,month,day参数的构造器
    super(n,s,year,month,day);
    bonus = 0;
}

//调用超类Employee中含有n,s,year,month,day参数的构造器
super(n,s,year,month,day);

继承层次(inheritance hierarchy)

继承并不限于一个层次,如Manager继承了Employee,Executive又继承了Manager。
由一个公共超类派生出来的所有类的集合被称为继承层次。在继承层次中,从某个特定的类到其祖先路径被称为该类的继承链。一个祖先类可以拥有多个子孙继承链。

访问权限

Java 子类重写继承的方法时,不可以降低方法的访问权限,子类继承父类的访问修饰符要比父类的更大,也就是更加开放。
假如我父类是protected修饰的,其子类只能是protected或者public,绝对不能是friendly(默认的访问范围)或者private,当然使用private就不是继承了。还要注意的是,继承当中子类抛出的异常必须是父类抛出的异常的子异常,或者子类抛出的异常要比父类抛出的异常要少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值