instanceof(类型转换)引用类型,判断一个对象是什么类型
package java1;
public class Application {
public static void main(String[] argc){
//Object>Person>Student
Object object=new Student();
System.out.println(object instanceof Student);//t
System.out.println(object instanceof Person);//t
System.out.println(object instanceof Object);//t
System.out.println(object instanceof Teacher);//f
System.out.println(object instanceof String);//f
System.out.println("===========");
Person person=new Student();
System.out.println(person instanceof Student);//t
System.out.println(person instanceof Person);//t
System.out.println(person instanceof Object);//t
System.out.println(person instanceof Teacher);//f
//System.out.println(person instanceof String);编译报错
System.out.println("===========");
Student student=new Student();
System.out.println(student instanceof Student);//t
System.out.println(student instanceof Person);//t
System.out.println(student instanceof Object);//t
// System.out.println(student instanceof Teacher);
// System.out.println(student instanceof String);
}
}
package java1;
public class Person {
public void run(){
System.out.println("run");
}
}
package java1;
public class Student extends Person{
public void go(){
System.out.println("go");
}
}
package java1;
public class Teacher extends Person{
}
强制类型转换(高转低)向下转型
package java1;
public class Application {
public static void main(String[] argc){
//类型之间的转化:父 子
//高 低
Person obj=new Student();
//student将这个对象转换为Student类型,我们就可以使用Student类型的方法了
Student student=(Student) obj;
student.go();
((Student)obj).go();
}
}
package java1;
public class Person {
public void run(){
System.out.println("run");
}
}
package java1;
public class Student extends Person{
public void go(){
System.out.println("go");
}
}
强制类型转换(低转高)向上转型
package java1;
public class Application {
public static void main(String[] argc){
//类型之间的转换:父 子
//子类转换为父类,可能丢失自己的本来的一些方法!
Student student=new Student();
Student.go();
Person person=Student;
}
}