继承、方法重写、修饰符、导包、状态修饰符、static、静态方法、Math工具类
子类、父类:构造、数据
成员方法:类中方法外;
访问特点:子类成员范围 -> 父类成员范围 -> 报错
方法重写——方法名、参数列表、返回值都相同;作用:覆盖父类的方法
注解 @Override 用于检查当前方法是否是重写方法,否则编译报错
不是必须,更为规范
快捷方式:方法名自动补全
继承的注意事项
只支持单继承,不支持多继承 (双继承父类同方法无法选择继承方)
支持多层继承(父类的父类,依然叫父类)
知识总结方法
# 继承
1. 继承概述
介绍:子类继承父类,就拥有父类的内容(属性,方法和构造)
2. 继承的好处和弊端
1). 好处:提高代码复用性(Teacher类、Student类、Person类)
2). 弊端:
提高了类之间的耦合性,修改父类,就会影响到子类的内容
(代码要低耦合:因为耦合度高了,扩展性就差了)
耦合性:关联度
扩展性:当需求变化的时候,改变越少,扩展性就越强
3. 继承的语法
1). class A extends B {//类体 }
B是父类,基类,超类
A是子类,派生类
2). 核心关键字:extends
4. 继承中的成员访问特点:
1). 属性
I. 核心:就近原则
II. 详解:先访问局部,再访问子类成员,最后访问父类成员
2). 构造
I. 核心:子类构造必须调用父类的构造
II. 详解:
子类构造默认调用父类的空参构造
如果父类没有空参构造,子类就需要手动调用父类的有参构造
3). 方法
I. 核心:先访问子类成员,然后访问父类成员
II. 注意:方法重写
4). 核心关键字:
I. this
II. super
5. 方法重写
1). 介绍:子类中定义与父类相同的方法(方法名,参数列表和返回值相同)
2). 方法重写和方法重载有何异同
I. 方法重载:在一个类中,定义多个方法名相同,参数列表不同的方法,称为重载
II. 方法重写:在两个类中,子类中定义与父类相同的方法(方法名,参数列表和返回值相同)
6. Java类的继承注意事项
1). Java的类只有单继承,没有多继承
2). Java可以多层继承
重要的是做的过程,在过程中吸收
听10%,练30%,讲30%
继承案例
老师和学生
项目经理和程序员
toString
此方法的返回值是什么,那么当前类对象的引用直接打印,就会是什么
this.方法名()
修饰符
private 本类
默认 同包子类无关类(同包下)
protected 不同包的子类(继承关系)
public 不同包的无关类(无继承关系)
导包
1.包 是文件夹,路径
2.导包的目的:就是让 JVM 直到类在何处
3.在 Java 中,用到一个类,都需要导包,只有两种情况例外
- java.lang 包下的类(String,Object)
- 本包下的类
4.特殊情况:
一个类中需要用到两个类,这两个类的类名相同,包名不同的情况
其中一个可以导包,另一个就需要写完全限定名(包名+类名)
状态修饰符
final(最终态)
- 不可继承(修饰类)
- 不可重写(修饰方法)
- 不可修改(修饰变量)基本数据类型,数据值不变。引用数据类型,地址值不变。
static(静态)
1.static关键字是静态的意思,可以修饰成员方法,成员变量
2.static修饰的特点
-
被类的所有对象共享,判断是否使用静态关键字的关键
-
静态成员可以通过类名直接调用
3.非静态可以调用静态,静态不能调用静态(对象)
- 静态方法不能调用非静态属性和方法
- 静态方法不能调用 this 和 super
静态方法的好处:
1.静态的好处:直接通过类名直接调用,无需创建对象,节省内存,运行快
2.main方法
1)介绍:这是 java 程序的入口方法,由 JVM 自动调用
System.out.println();
类.属性.方法();
calc:计算器
工具类的方法一般有以下两个特点:
1.工具类中的方法基本纯逻辑,跟非静态成员无关
2.工具类中的方法经常被设计出静态的,这样调用方便,而且还快

Math.abs() 取绝对值 absolute
Math.ceil() 向上取整
Math.floor() 向下取整
Math.round() 四舍五入
Math.max() 取较大值
Math.pow(n, m) 幂运算 n的m次方