概述
instanceof (类型转换)
-
引用类型 判断一个对象是什么类型
public class Person {
}
public class Student extends Person{
}
public class Application {
public static void main(String[] args) {
//建的类是关系
//Object->String
// Object->Person->Student
//Object->Person->Teacher
Object object=new Student();
System.out.println(object instanceof Student);//判断object是否是Student类 //true
System.out.println(object instanceof Person);//判断object是否是Person类 //true
System.out.println(object instanceof Object);//判断object是否是Object类 //true
System.out.println(object instanceof Teacher);//判断object是否是Teacher类 //false
System.out.println(object instanceof String);//判断object是否是String类 //false
System.out.println("=========================");
Person person=new Student();
System.out.println(person instanceof Student);//判断object是否是Student类 //true
System.out.println(person instanceof Person);//判断object是否是Person类 //true
System.out.println(person instanceof Object);//判断object是否是Object类 //true
//System.out.println(person instanceof Teacher);//判断object是否是Teacher类 //false
System.out.println("=============");
Student student=new Student();
System.out.println(student instanceof Student);//判断object是否是Student类 //true
System.out.println(student instanceof Person);//判断object是否是Person类 //true
System.out.println(student instanceof Object);//判断object是否是Object类 //true
//System.out.println(student instanceof Teacher);//判断object是否是Teacher类 //编译报错
}
}
类型转换:
1.父类的引用指向子类的对象。
2.子类转换父类,向上转换,自动转换。
3.父类转换为子类,向下转换,强制转换。
4.方便方法的调用,减少重复的代码
父类
public class Person {
}
子类
public class Student extends Person{
public void go(){
System.out.println("go");
}
}
测试类
public class Application {//代码可以自己尝试实现
public static void main(String[] args) {
//类型之间的转换
//父类->子类(高->低) 强制转换
//子类->父类(低->高) 自动转换
Person a=new Student();//从高到低强制转换
//a.go();Person使用Student的方法,将这个Person类型转换成Student类型,我们就可以使用Student类型的方法了。
//Student student=(Student) a;//转换了类型
//student.go();
//也可以写成
((Student) a).go();//强制转换
//子类转换为父类的时候,子类可能丢失一些方法。
//Person person=student;
}
}
最后
以上就是开心诺言为你收集整理的JAVA学习25-java多态instanceof判断类型和类型转换的全部内容,希望文章能够帮你解决JAVA学习25-java多态instanceof判断类型和类型转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复