第七周学习笔记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修饰的类,可以被继承

相关推荐
曹牧29 分钟前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
执笔论英雄1 小时前
【大模型学习cuda】入们第一个例子-向量和
学习
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
ouliten1 小时前
cuda编程笔记(36)-- 应用Tensor Core加速矩阵乘法
笔记·cuda
爬山算法1 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7251 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎1 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄2 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿2 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds2 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化