4.18

继承

向上抽象,想象这些类型的共同属性和行为

extends 叫做继承

a通过extends继承了b
a子类,b父类

为什么要继承:减少代码量,提高了在父类中的维护性,提高了代码的扩展性,

所有的类型最顶层的父类型是0bject,即使我们没有手动去写extends Object

java继承的基本语法:

public class 子类 extends 父类{

}

一个子类可以有多个父类
一个子类只能直接继承一个父类
除了构造方法不能被继承,其他都可以被继承

构造方法和普通方法的区别

构造方法是在创建对象时自动调用一次,用于初始化对象;
构造方法(也称为构造函数)是类的特殊方法,主要用于创建对象时初始化对象,即为对象成员变量赋初始值。构造方法总是与new运算符一起使用在创建对象的语句中。

普通方法则是在对象创建后,通过对象调用来执行特定功能,可以被多次调用。
普通方法,则是类中定义的用于执行特定任务的代码块。普通方法可以有返回值,也可以没有(即void类型)。

构造方法是不能被继承的,但是可以调用

所有子类的构造方法,第一句代码一定默认是super()

每个字类的构造方法,第一句diamante一定是用来调用父类的gaff的,如果没有显示调用,默认调用过的是super()

方法重写

在继承关系中,子类和父类拥有相同的行为,但是子类的行为实现和父类不一致,如何解决,通过方法重写

# 方法重写和方法重载的区别:

重载,在一个类中,出现多个同名方法,但是参数列表不同

重写,在继承关系中,子类拥有和父类一样的行为,但是方法的实现不一致

区别:重载是多个方法,重写是一个方法

语法:

访问修饰符:private不能被重写
可选修饰符:static和final方法不能被重写
返回类型:父类的返回类型不小于子类的返回类型
方法名:一致
参数列表:一致
异常列表:子类抛出的异常不大于父类抛出的异常

final关键字

finnal和static修饰的无法重写

final可选修饰符,表示最终的

fina列表修饰的内容
修饰的类我们叫做最终类,不能被继承
修饰的变量成为常量,值不能更改
修饰的方法叫做最终方法,不能被子类重写

to String方法

调用对象的toSting方法目的是想让这个对象以字符串的形式展示
如果直接使用toString,调用的是Object的toString,没什么意义
所以,如果我们想把对象朱哪位字符串形式来展示对象内容,可以重写toString

toString在什么地方使用:

代码调试的时候,如果不确定对象的属性值,
可以重写对象的toString方法,将属性打印到控制台

Object

,hasCode描述的不是地址,是对象的一个标识

Object是所有类型的父类,
int hashCode()返回对象的哈希码值
打印对象的时候,结果中就有

==
这个符号比较数据类型:比较值是否相等
比较引用数据类型的时候就是比较对象的地址是否相等
equals比较对象相等,比较对象的内容是否相等

super

posted on 2025-04-18 23:45  零笗  阅读(17)  评论(0)    收藏  举报

导航