OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3154|回复: 1

Java 继承 先收藏,防止迷路

[复制链接]

143

主题

145

帖子

0

精华

高级会员

Rank: 4

积分
585
金钱
585
注册时间
2020-5-25
在线时间
42 小时
发表于 2020-10-19 17:27:15 | 显示全部楼层 |阅读模式
继承(inheritance)是面向对象编程的三要素(封装、继承、多态)中最重要的一个。
Java中同样拥有继承的概念。子类继承父类,父类被子类继承。
Java不同于C++,类的继承只能是单继承。一个子类只能有一个直接父类。
继承的优势
子类继承父类的状态和行为,有以下两个优势:
  • 可以修改父类的状态或重载父类的行为
  • 可以添加新的状态和行为
使用继承
使用关键字extends来实现继承
class Student extends Person{        // ...}
如果没有extends,则该类默认为java.lang.Object的子类
所有的类都是通过直接会间接继承自java.lang.Object得到的
继承包括字段的继承和方法的继承。
子类既可以使用父类的成员、方法,也可以重新定义一个类型完全相同的成员、方法。这种行为称为修改(覆盖) (@Override)
此外,继承同样可以进行方法的重载。
this 和 super
  • this为本对象实例的引用,可以在对象的成员方法中调用this来访问当前对象的字段或方法。
class Person{    String name;    Person(){};    Person(String name){        this.name = name;    }    void sayHello(){        System.out.println("Person " + name + " Say Hello to you.");    }}
  • super也是本对象实例的引用,可以用super来调用父类的字段或方法。super主要用来解决这些问题
    • 子类方法已将父类方法覆盖,但需要在子类中访问父类的方法

class Student extends Person{    String id;    Student(){};    void sayHello(){        System.out.println("Student " + name + "Say Hello to you");    }    void testSuper(){        super.sayHello();        this.sayHello();    } }
​ 2. 子类的构造方法一部分需要用到父类的构造方法
class Student extends Person{    String id;    Student(){};    Student(String name,String id){        super(name); // 调用父类的构造方法        this.id = id;    }}参考文本学习视频资料:http://www.makeru.com.cn/live/1392_1164.html?s=143793
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4477
金钱
4477
注册时间
2013-4-22
在线时间
336 小时
发表于 2020-10-19 19:07:28 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-29 22:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表