0
点赞
收藏
分享

微信扫一扫

java复习第七天[继承]

秀儿2020 2022-01-20 阅读 88

继承简介:

        继承是java语言的三个重要特性之一,继承同时也可以说是oop(面向对象)的基础,因为继承使java有了等级的划分,更加具有人性.

子类与超类:

继承在生活中是一种:财产权利,通过继承实现财产的移转,但是在java中代表的是扩展这个类的用途或者方法等等,使其作用更加庞大,由此诞生出了子类与超类.

子类:java中extends(继承)前面的类则是子类.

超类:又称父类,被别的类extends(extends)就是超类.

知道了子类与超类的意思,便是在生活中的例子了如:Employee(雇员)类,假设你在某个公司工作,这个公司普通雇员的待遇与经理的待遇存在这一些差异,不过他们之间也存在这很多相同的地方,列如:他们都领薪水。只是普通雇员在完成本职任务之后只领薪水,而经理在完成预期的任务之后还能得到奖金.这种形式就需要使用继承,这是因为需要为经理定义一个,Manager(经理)类,以便增加一些新功能.但可以重用Employee(雇员)类中已经编写部分代码,并将其中所有的域保留下来.从理论上来说,在Manager与Employee之间存在这明显的"is - a"(是)关系,每个经理都是一名雇员:"is - a"关系是继承的一个明显特征.

继承的使用:

java提供关键字extends来使用继承,基本语法为:

class Manager extends Employee{
    //添加方法和域
}

雇员的代码为:

//雇员类
public class Employee{
    //年龄
    int age;
    //薪水
    int salary;
    //名字
    String name;
    //输出信息方法
    void run(){
        System.out.println("年龄:"+age+",薪水:"+salary+",名字:"+name);
    }
}
//经理类
class Manager extends Employee{
    //奖金
    int bonus;
    //输出信息
    void run(){
        System.out.println("年龄"+age+",薪水:"+salary+",名字:"+name+",奖金:"+bonus);
    }
}
//测试类
class Test{
    public static void main(String[] args) {
        Manager manager = new Manager();
        manager.age=15;
        manager.salary=1_0000;
        manager.name="小布";
        manager.bonus=1_0000;
        manager.run();
    }
}

输出:

年龄15,薪水:10000,名字:小布,奖金:10000

注意事项:

  1. java语言是不支持多继承的,但是接口可以实现多个来弥补不能多继承的问题.
  2. 构造方法不会被子类继承,但可以从子类中调用父类的构造方法。
  3. 如果子类重载父类的方法,同时实例化的也是子类会优先调用子类的方法.
  4. 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不一定可以直接访问(比如父类私有的属性方法)
  5. 如果定义一个类时,没有调用extends则他的父类是Java.lang.Object 

小技巧:

        在idea软件中ctrl+H可以查看一个类的结构,继承了什么类,被继承了什么类如:

        


创作难免有错误和不当的地方,还请大家多多指教。 

举报

相关推荐

Java第七天

HCIP第七天

python(第七天)

第七天bj

第七天java 面向对象

0 条评论