第八章:继承
来源:互联网 发布:wrecking ball网络歌手 编辑:程序博客网 时间:2024/06/06 03:54
继承
继承概述:把多个类中相同的内容给提取出来定义到一个类中。
继承:通过extends关键字可以实现类与类的继承
格式:class 子类名 extends 父类名 {}
好处:减少重复的代码量,提高代码和开发效率
继承中的成员访问限制
如果父类中变量定义成了private私有变量,则在子类中是不可以调用的,其只能在父类的方法中调用,子类和其他类都不可以。
Java中继承的特点:java只支持单继承,不支持多继承,即:一个子类只能有一个父类(基类),一个父类可以有多个子类
子类对象包含父类对象
继承的注意事项:
A:子类只能继承父类所有非私有的成员(成员方法和成员变量)
B:子类不能继承父类的构造方法,但是可以通过super关键字去访问
C. 静态方法不可以继承
父类构造方法。
Super:调用父类的方法,
Super注意事项
super也可以调用父类的构造方法,父类中构造方法用private修饰时,子类不能继承
子类可以没有构造方法,他会自动调用父类的构造方法
在子类中可以调用父类的构造方法,super必须放在子类构造方法的首句
this.成员变量 调用本类的成员变量
super.成员变量 调用父类的成员变量
重写equals toString
Object类是所有Java类的根基类
如果在类的声明中未使用extends关键字指明基类,则默认基类为Object类
publicclass Person {
}
等价于
publicclass Personextends Object {
}
toString方法
Object类中定义有public String toString()方法,其返回值是String类型,描述当前对象的所有信息
在进行String与其他类型数据的连接操作时(如:System.out.println("info:" + person);),将自动调用该对象的toString()方法
可以根据需求在用户自定义类型中重写toString方法
class Dog {
public String toString() {
return"I'm a cool dog!";
}
equals方法
Object类中定义有public boolean equals(Object obj)方法,提供判断定义对象是否相等的逻辑
Object的equals方法定义为:x.equals(y)当x和y是同一个对象的引用时返回true否则返回false
Object:equals(Object obj)与==一样,先判断内存地址是否相同,若内存地址相同,然后在判断内容是否相同
*
* 当子类重写Object 的equals:覆盖父类的equals(),以自己重写的方法为主
*/
@Override
public boolean equals(Object obj) {
if(obj==null){
return false;
}
if(obj instanceof Han){
Han han = (Han)obj;//向下转型
//判断一个对象与另外一个对象的姓名是否相同 判断性别 姓名不同 不是同一个人
if(han.getName().equals(this.getName())&&han.getSex().equals(this.getSex())){
return true;
}
}
return false;
}
}
//自定义equals
public boolean equals(Han h) {
if (h.getName().equals(this.getName())) {
return true;
}
return false;
}
}
阅读全文
0 0
- 第八章 继承
- 第八章:继承
- java第八章(1)继承
- 第八章 封装 和 继承
- 第八章继承课后练习答案
- Objective-C程序设计第八章----继承
- 快学Scala习题解答—第八章 继承
- java 第八章 继承与多态 笔记
- 快学Scala习题解答—第八章 继承
- java 第八周 继承 接口
- Java从入门到精通学习笔记---第八章 接口、继承与多态
- [学习笔记—Objective-C]《Objective-C 程序设计 第6版》第八章 继承
- 快学scala 第八章 继承 读书笔记及习题答案代码
- C#教程 第八课:类的继承
- C#教程第八课:类的继承
- java 第八课 类的继承
- JAVA--第八周实验--继承的练习
- 第八周JAVA实验之继承
- java的poi技术读取Excel数据到MySQL
- 2017/8/29 腾讯测试开发工程师模拟笔试题
- pdfjs使用指南
- 哈哈,又找到几个强大的html5+css3的动画效果
- 给定两个整型变量的值,将两个值的内容进行交换
- 第八章:继承
- 【LeetCode】594. Longest Harmonious Subsequence
- Node.js常用工具util
- 凸包边上的点求法
- 简单的位运算
- 判断是否构成三角形
- 文献综述——In-Situ Visualization in Fluid Mechanics using Catalyst: A Case Study for Code Saturne
- 在Spring中使用AOP实现日志功能
- Hive 自定义函数