2022.01.07向下转型和包装类

1.如何实现向下转型?需要注意什么问题?如何解决此问题?

①什么是向下转型:向下转型是多态的逆过程

Person p1 = new Man();//向上转型

Man m1 =(Man)p1;//向下转型

m1就可以调用除与父类对象共有的其他方法

②首先要注意向下转型的类和该类是子父类的关系;还要注意子类引用不能指向父类的对象;

避免出现ClassCastException

③ 首先使用instanceof判断能不能向下转型(p1 instanceof Man)

 

Person p = new Man();
使用强转符:()
Man m = (Man)p;

可能ClassCastException异常。

使用instanceof在进行向下转型前判断。
if(p instanceof Man){
Man m = (Man)p;
}

2.== 和 equals()的区别?

== 运算符,equals()是方法

object类中的equals()方法是 ==

重写的equals()方法比较的是实际存储的内容

 

3.重写一个equals方法

Class User {
String name;
int age;

//重写其equals()方法
public boolean equals(Object obj){
    if(this == obj){
        return ture;            
    }
    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 Character
long Long
double Double
float Float
boolean Boolean
byte Byte

5.基本数据类型、包装类与String三者之间如何转换

 

posted @ 2022-01-07 23:58  Fancy[love]  阅读(100)  评论(0编辑  收藏  举报