Java 程序设计 第4章 继承 笔记

简介: Java 程序设计 第4章 继承 笔记

4.1 类的抽象和扩展

继承是从已有类派生出新的类,新的类称为子类,已有类称为父类或超类。

子类有父类的数据和行为。

继承是一种"is-a"关系。

Java只支持单继承,不支持多继承(避免了使用多继承时出现的复杂问题)。

Java中只有Object没有父类,其他每个类都有一个直接的父类。

如果一个类没有指定父类,则它的父类默认是Object。Object类定义了一些类公有的行为。

4.2 继承的定义

4.2.1 语法格式

继承的一般格式:

[类的修饰符]class 子类名 extends 父类名{

...

}

使用extends 父类名 表示要继承的父类。

4.2.2 构造器与实例化

子类和父类属于两个不同的语句块,属于两个不同的作用域。

子类可以访问父类的成员,

子类和父类的成员都由自己的构造器完成初始化。

子类进行初始化时,会调用父类的构造器,可以用super(参数列表)指定使用哪个父类的构造器。

对象 instanceof 类

判断左边对象是否是右边类的实例。

 

4.2.3 super的使用

super除了当成构造器来用之外,还可以作为作用域使用。

4.2.4 继承关系下的作用域(第3章已有,略)

4.3 方法的覆盖

1.多态 根据对象实际类型调用相应的方法

2.final修饰符修饰的方法不能被覆盖,final修饰的类(class)不能被继承。

3.使用@Override覆盖方法可以让编译器做语法检测

4.子类的override方法的修饰符能弱于父类的方法。

5.子类的override方法的异常列表中的异常类不能多于父类的异常列表中的异常类型。

 

4.4 类型转换

子类可以赋值给父类;父类可以通过强制类型转化赋值给子类,但前提是这个父类对象实际上是一个子类对象,否则在使用时会出错。

4.5 根父类:Object类

Java中所有的类都继承自Object类.

Object类为所有类提供了基本的属性和方法,是类的高度概括。

Object提供了一个缺省构造器和一组基本方法:

方法 作用
protected Object clone() 克隆
boolean equals(Object obj)  判断相等
protected void finalize() 析构
Class<?> getClass() 返回运行时类型
int hashCode() 返回对象的hash码
void notify() 唤醒当前对象监视的等待线程
void notifyAll() 唤醒当前对象
void wait() 让当前线程等待
void wait(long timeout) 让当前线程等待timeout毫秒
void wait(long timeout, int nanos) 让当前线程等待timeout毫秒+纳秒
String toString() 将对象转换成字符串,println打印对象时会自动调用。


相关文章
|
22天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
38 1
|
21天前
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
108 63
|
12天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
12天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
12天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
21天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
15 3
|
21天前
|
Java
在Java多线程编程中,实现Runnable接口通常优于继承Thread类
【10月更文挑战第20天】在Java多线程编程中,实现Runnable接口通常优于继承Thread类。原因包括:1) Java只支持单继承,实现接口不受此限制;2) Runnable接口便于代码复用和线程池管理;3) 分离任务与线程,提高灵活性。因此,实现Runnable接口是更佳选择。
29 2
|
21天前
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
27 2
|
21天前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
27 1
|
22天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
19 1