第七周学习笔记DAY.3-继承

如何使用继承

编写父类

访问修饰符 class Pet {

//公共的属性和方法

}

编写子类,继承父类

访问修饰符 class Dog extends Pet {

//子类特有的属性和方法

}

继承是Java中实现代码重用的重要手段之一。Java中只支持单根继承,即一个类只能有一个直接父类

理解继承

子类访问父类成员

1.访问父类构造方法

super();

super(name);

2.访问父类属性

super.name;

3.访问父类方法

super.print();

注:

(1)使用super关键字,super代表父类对象

(2)在子类构造方法中调用且必须是第一句

(3)不可以访问父类中定义为private的属性和方法

super关键字来来访问父类的成员

1.super只能出现在子类的方法和构造方法中

2.super调用构造方法时,只能是第一句

3.super不能访问父类的private成员

继承条件下的构造方法的调用规则

1.子类构造方法没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法

系统默认调用父类的无参构造方法

2.子类构造方法通过super显式调用父类的有参构造方法

执行父类相应构造方法,而不执行父类无参构造方法

3.子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则

子类继承父类的什么?

1.继承public修饰的属性和方法,不管子类和父类是否在同一个包里

2.继承默认权限修饰符修饰的属性和方法,但子类和父类必须在同一个包里

子类可以继承父类的所有资源吗?

不能被继承的父类成员:

1.private成员

2.子类与父类不在同包

3.构造方法

访问修饰符protected

可以修饰属性和方法

本类、同包、子类可以访问

使用继承

继承是代码重用的一种方式

将子类共有的属性和行为放到父类中

extends关键字:描述继承关系

一个类的构造方法中如果没有显示说明调用父类的哪个构造方法,默认调用父类的无参构造方法,通过super()实现,默认省略不写

在构造方法中this调用本类其他的构造方法语句和super调用父类构造方法的语句不能同时出现,二者只能选择一个

被默认修饰符修饰的属性只能在同一个包中访问

被private修饰的属性只能在本类直接访问

final修饰类没有子类,在定义一个类继承final修饰的类,会报错

java.lang.String类是使用final修饰的类,没有子类

String类是com.sun.org.apache.xpath.internal.operations.String,该String类不是final修饰的类,可以被继承

相关推荐
TTGGGFF5 分钟前
ModelSim SE 10.1c 超详细安装与激活保姆级教程(图文详解 2026 仅供学习)
学习·fpga开发
数智工坊11 分钟前
周志华《Machine Learning》学习笔记--第十一章--特征学习与稀疏学习
笔记·学习·机器学习
摇滚侠13 分钟前
git ignore 忽略 .idea 目录 全新项目(尚未提交过 .idea).idea 已经被 Git 跟踪(已提交过)
java·git·intellij-idea
linge_sun13 分钟前
SpringAI SQL 智能助手实战:用自然语言查询数据库
java·人工智能·ai编程
熟悉的新风景14 分钟前
maven常用依赖
java·maven
light blue bird15 分钟前
3C 数码电子BOM 协同工作台组件
java·开发语言·jvm·windows·.net·桌面端
喵叔哟15 分钟前
第2周学习笔记
笔记·python·学习·langchain
ZC跨境爬虫19 分钟前
跟着 MDN 学JavaScript day_6:JavaScript 中的基础数学——数字与运算符
开发语言·前端·javascript·学习·ecmascript
MartinYeung520 分钟前
[论文学习]网路知识产权面临风险:防止大型语言模型未经授权即时检索
人工智能·学习·语言模型
我是一颗柠檬22 分钟前
【Redis】Redis分布式锁Day13(2026年)
java·redis·分布式·缓存