回顾上次的知识点
instanceof
public class text1{
public static void main(String [] args){
// object > string
// object > peraon > teacher
// object > person > student
Object s1 =new student();
//System.out.println(X instanceof Y);//能不能编译通过 (看前后两者有没有关系)
System.out.println(object instanceof Student); //true
System.out.println(object instanceof Person); //true
System.out.println(object instanceof Teather); //false
System.out.println(object instanceof Object); //true
System.out.println(object instanceof String); //flase
System.out.println("===================================");
Person s2 = new student();
System.out.println(person instanceof Student); //true
System.out.println(person instanceof Person); //true
System.out.println(person instanceof Teather); //false
System.out.println(person instanceof Object); //true
System.out.println(person instanceof String); //编译错误!
System.out.println("===================================");
Student s3 = new student();
System.out.println( student instanceof Student); //true
System.out.println(student instanceof Person); //true
System.out.println(student instanceof Teather); //false
System.out.println(student instanceof Object); //true
System.out.println(student instanceof String); //编译错误!
System.out.println("===================================");
}
}
public class person{
public void go(){
System.out.println("go")
}
}
public class student extends person{
}
public class teacher extends person{
}
public class text2{
public static void main(String [] args){
//类型之间的转化:父 子
//高 低
person s1 = new Student();
//student 将这个对象转换为student类型,我们就可以使用student类型的方法了!
//子类转换为父类,可能丢失自己的本来的一些方法!
student student = (student)s1;
student.go();
((student) s1).go();
}
}
类型转换
1、父类引用指向子类的对象,子类的对象不能指向父类的对象
2、把子类转换为父类,向下转型
3、把父类转换为子类,向下转型;强制转换
4、方便方法的调用,减少重复的代码!
封装、继承、多态! 抽象类:接口