十一.多态
一个事务有多种表现形态
多态是依赖于继承
定义方法时形参为父类,调用方法时传入的参数为子类对象
定义方法时返回值的数据为父类,调用方法时返回子类对象
具有继承关系的两个对象可以相互转换,⼦类转⽗类即⽗类引⽤指向⼦类对象,可以⾃动完成,⽆需强制转换,也叫做向上转型。
⽗类转⼦类即⼦类引⽤指向⽗类对象,不能⾃动完成转换,需要强制转换,也叫做向下转型。
十二.抽象方法和抽象类
只有方法声明没有具体的方法实现,该方法就是抽象方法。用abstract修饰,类也要用abstract修饰
抽象类和普通类的区别
1.抽象类不能被实例化
2.抽象方法没有方法体
3.抽象类中可以没有抽象方法;但是包含抽象方法的类必须被定义中抽象类
4.抽象类中可以定义非抽象方法,但在普通方法中不能定义抽象方法
5.继承了抽象类的子类必须重写父类的抽象方法
6.如果子类也是抽象类,则不用重写父类的抽象方法
十三.Object
Object经常被子类重写的方法:
public String toString() 以字符串的形式返回该类的实例化信息
public boolean equals(Object obj) 判断两个对象是否相等
public native int hashCode() 返回对象的散列码
十四.包装类
是java提供的一组类,创建8种基本数据类型对应的对象
包装类⼀共有8个,保存在java.lang包中。
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
Object:Character、Number、Boolean
Number:Byte、Short、Integer、Long、Float、Double
包装类的拆箱和装箱,拆箱和装箱是包装类的特有名词,装箱是指将基本数据类型转为对应的包装类对
象,拆箱是指将包装类对象转为对应的基本数据类型。
装箱:
Public Type(type value)
每个包装类都有一个有参构造,用来实例化包装类对象
Public Type(String value)/(char value)
除了character其余都传的是string类型
Boolean传的参数,除了true其余都是false
valueof(type value) 包装类有一个静态方法
所有返回的都是String,字符串
拆箱
value
每个包装类都有一个value()方法,是对应基本数据类型
parse(String value) 除了character 将字符串转化为基本数据类型
toString方法将基本数据类型转化为字符串