第六章 面向对象(基础)
前期都是概念 类和对象 面向对象三大特性 封装 继承 多态
类:抽象的
对象:具体的
面向 对象
JVM 栈 堆 方法区 等
成员变量(属性)与局部变量
**** 局部变量不能用权限修饰符 (public那些)
属性:有默认值
局部变量:没有默认值
方法的格式
权限修饰符 (其他修饰符) 返回值类型 方法名(形参)(抛出异常){
方法体
}
构造器的格式
权限修饰符 类名(形参){
}
方法重载
同一个类中,方法名相同 动用参数列表不同
方法的值传递机制
-------------面向对象三大特性
封装: 该隐藏的隐藏 该暴露的暴露
权限修饰符 public protect 缺省 private
第七章 面向对象(进阶)
关键字 this super
this::当前对象 或者 正在创建的对象 调用属性 方法 构造器
当属性名和形参名相同 必须使用this
super:调父类的 调用属性 方法 构造器
子类重写了父类的某一个方法 这时想用父类之前的方法 必须使用super
---------面向对象三大特性
继承:子父类
重写 :必须有继承关系 子类对父类的同名同参覆盖,覆写
面向对象三大特性 多态 父类引用指向子类对象
调用方法时 编译看左边 运行看右边
多态的前提: a子父类 b重写
Obejct 重点方法 equals() toString()
**==和equals()区别
比较基本数据类型 比较的是值
比较引用数据类型 比较的是地址值 equals()只能用在引用数据类型
第八章 面向对象(高级)
关键字 staic 静态(属性,方法,代码块,内部类)
设计模式 单例模式
对某个类只能存在一个对象实例,只提供一个实例方法
1饿汉式 线程安全 耗内存 2懒汉式 反之
代码块
用staic修饰的就是静态代码块 反之 非静态代码块
关键字 final 最终的
final:类 方法 变量
修饰类 不能被继承 例如 String StringBuffer StringBulider
修饰方法 不能被重写 例如Object里的getClass()
修饰变量 此时 变量就成了常量 一旦赋值 不可更改
关键字 abstract 抽象
修饰类 抽象类
修饰方法 抽象方法
-----关键字 interface接口 这一块听着好晕 后续来补把
内部类 一个类在另外一个类里面 叫内部类 晕
枚举 本质还是个类 只不过数量固定几个 enum
例如 星期 月份
例题
接口和抽象类的区别