直接把前两个看成整体(因为前两个可以相互转化)
前两类--->String:String类名.valueof(int a)
String--->前两类:包装类名.parseint(String s)
1、
实现向下转型目的:
调用子类特殊的属性和方法
如何实现向下转型?
使用强转符()
person p=new man()
person p=(person)new person()
可能ClassCastException!!!异常
解决异常:用instanceof 判断
2、是否可以强制转换
if(p instanceof Man){
Man m=(man)p;
}
注意p是一个变量名
向上转型=多态
3、
==和equals()区别
==用于基本数据类型
equals()用于引用数据类型
==比较的是地址而不是内容
equals()一般会重写用于比较子类中的属性是不是完全一致
没有重写的话object类中的equals方法:还是==
class User {
String name;
int age;
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (obj instanceof User) {
User u = (User) obj;
return this.age == u.age && this.name.equals(u.name);
}
return false;
}
}
4、
8种基本数据类型对应的包装类(一般都是开头字母大写)
特殊的:
int 对应 Integer
char 对应 Charactor
5、基本数据类型、包装类、String三者之间的相互转换
基本数据类型 到 包装类
自动装箱,自动拆箱
integer i=10;
直接把前两个看成整体(因为前两个可以相互转化)
前两类--->String:String类名.valueof(int a)
String--->前两类:包装类名.parseint(String s)