目录
一、static静态
1、静态变量
①、代码示例
②、static内存图
③、小结
2、静态方法
①、工具类
3、static的注意事项
①、代码方面理解
②、内存方面理解
③、小结
4、重新认识main方法
二、继承
1、封装
2、继承的基本用法
3、什么时候用继承?
小结
4、继承的特点
小结
练习
5、子类到底能继承父类中的哪些内容?
①、构造方式是否可以被继承?
②、成员变量是否可以被继承?
③、成员方法是否可以被继承?
④、内存分析工具验证
6、继承中
①、继承中:成员变量的访问特点
②、继承中:成员方法的访问特点
③、方法的重写
④、继承中:构造方法的访问特点
⑤、this、super使用总结
三、多态
1、什么是多态?
2、多态的应用场景
①、示例代码
②、小结
3、多态调用成员的特点
①、示例代码
②、内存图解
4、多态的优势和弊端
①、多态的优势
②、多态的弊端
③、强制类型转换检查
④、小结
5、多态综合练习
①、需求文档
②、示例代码
示例代码:
原Student.java
加入静态变量:(所有的Student对象都共享一个teacherName)
测试类:
练习一:定义数组工具类
示例代码:
工具类(ArrayUtil)
测试类
练习二:定义学生工具类
示例代码:
Student.java
StudentUtil.java
测试类
静态是和类有关的,随着类的加载而加载;非静态是跟对象有关的。
静态方法不能调用非静态变量:
静态方法不能调用非静态成员方法:
非静态可以访问所有
示例代码(args的使用):
现在要想接收键盘录入数据的话,直接使用Scanner即可
但随着封装类越来越来越多,相应类中重复的代码也越来越多,为了方便复用,我们可以把相同的方法代码写到第三个类中:(这就是继承的由来)
示例代码:
Animal.java
Cat.java
Dog.java
Ragdoll.java
LiHua.java
Husky.java
Teddy.java
测试类
成员变量不管是什么样的修饰符,都能被子类继承下来,但是私有的成员方法不行
示例代码:
private修饰的成员变量,能被继承,但不能访问使用
JavaBean
测试类
示例代码一:
示例代码二:
小结
示例代码:
示例代码:
方法重写的本质:
方法重写的注意事项和要求:
练习一:利用方法的重写设计继承结构
思路分析:
示例代码:
Dog.java
Husky.java
SharPei.java
ChineseDog.java
测试类
小结
示例代码:
无参:
带参:
小结
示例代码:
(this)
小结
示例代码:
练习一:带有继承结构的标准JavaBean类
示例代码:
JavaBean
(Employee.java)
(Manager.java)
(Cook.java)
测试类
练习二:带有继承结构的标准JavaBean类
其实就是指对象的多种形态。
person.java
student.java
teacher.java
administrator.java
测试类
测试类:
示例代码:
有了多态,那么我们选择Object类型就可以了,(Object:任意的、所有的类型)
Dog强转成Cat:报错:
Animal.java
Cat.java
Dog.java
Person.java
测试类