day30 instanceof和类型转换
instance和类型转换
- instance(类型转换)引用类型,判断一个对象是什么类型
例:
package com.oop.demo06;
public class Person {
public void run(){
System.out.println("run");
}
}
/*
Object object = new Student();
System.out.println(object instanceof Student);//true
System.out.println(object instanceof Person);//true
System.out.println(object instanceof Object);//true
System.out.println(object instanceof Teacher);//false
System.out.println(object instanceof String);//false
System.out.println("=============================================");
Person person = new Student();
System.out.println(person instanceof Person);//true
System.out.println(person instanceof Object);//true
System.out.println(person instanceof Teacher);//false
//System.out.println(person instanceof String);//编译报错
*/
////////////////////////////////////////////
package com.oop.demo06;
public class Student extends Person {
public void go() {
}
}
/////////////////////////////////////////////
package com.oop.demo06;
public class Teacher extends Person{
}
//////////////////////////////////////////////
package com.oop.demo06;
public class Application {
public static void main(String[] args) {
//类型之间的转化:父 子
//高 低
Person person = new Student();
//将这个对象转换为Student类型,我们就可以使用Student类型的方法了
((Student) person).go();
//子类转换为父类,可能丢失自己的本来的一些方法!
Student student = new Student();
student.go();
Person p1 = student;
}
}
/*
1.父类引用指向子类的对象;
2.把子类转换为父类,向上转型;
3.把父类转换为子类,向下转型,强制转换
4.方便方法的调用,减少重复的代码!简洁
抽象:封装;继承;多态! 抽象类,接口
*/
浙公网安备 33010602011771号