六、面向对象
1. 面向对象
- 代码角度:先设计类别,再有对象
2. 回顾方法和加深
1)方法定义
2)方法调用
- 一个类里边只能有一个带public的class【待验证】
- return:结束方法
- 值传递+引用传递区别
3. 对象创建分析
1)类与对象创建
- 类是抽象概念,对象是具象【具体某一】
- 1个类里只可能存在属性和方法这两种
- 1个项目里应该只有1个main方法
2)构造器详解
- alt+insert:自动生成构造器【默认无参,可选有参】
- this.一般是当前类的,=后边的是参数传进来的值
错别字:显式的定义一个
3)创建对象内存分析
4)类与对象小结
- 表面在栈中,实质在堆中
4. 面向对象三大特性
1)封装
- 属性私有
2)继承
- 子继承父内所有
- 1个儿子只能1个父,【但间接的可多个】,1父可多儿
- java中,所有类都默认直接或间接继承object类
1 Super
2 方法重写
- 结果
- 但这个不同
3)多态
- 解决办法:强制类型转换
- 注意:3里的3个修饰符都不能重写方法
1 instanceof和类型转换
4)static关键字
- 静态属性、静态方法、静态代码块、静态导入包
5. 抽象类和接口
1)抽象类
- 有抽象类必有其继承者extends
2)接口定义和实现🔺
- 接口中定义的都是常量
- 方法都是3,常量是4
6. 内部类及OOP实战
- 成员内部类
- 静态内部类:无法获取id,因为静态方法先执行
- 1个Java类中只能有一个public class,但是可以有多个class类
- 局部内部类:方法内
- 匿名内部类:无名字