关于instanface的问题
2019-03-23 08:32 Lign_King 阅读(146) 评论(0) 编辑 收藏 举报nstanceof关键字来判断某个对象是否属于某种数据类型。报错 代码如下
package cn.lijun.demo3;
import cn.lijun.demo.Person;
import cn.lijun.demo.Student;
import cn.lijun.demo.Teacer;
public class Test {
public static void main(String[] args) {
Fu f = new Zi();// 编译时期 :参考引用类型变量所属的类 如果类中没有调用的方法 编译以失败
//f.show(); //运行时期:引用类型变量所指的对象所属的类 并运行所属类中的方法
// 成员方法: 编译看左边 运行看右边
//成员变量 : 编译 运行全看左边
//int a = f.num;
Zi z =new Zi();
Person p = new Person();
Student s1=new Student();
Teacer t = new Teacer();
// System.out.println(a);
Boolean b =Teacer instanceof p;
System.out.println(b);
}
}
课堂上经过赵帅同学测试 将 Boolean b =Teacer instanceof p; 调整为前父后子后 可以正常使用
总结instanceof的使用方式为:测试的时候前父后子
正确代码如下
package cn.lijun.demo3;
import cn.lijun.demo.Person;
import cn.lijun.demo.Student;
import cn.lijun.demo.Teacer;
public class Test {
public static void main(String[] args) {
Fu f = new Zi();// 编译时期 :参考引用类型变量所属的类 如果类中没有调用的方法 编译以失败
//f.show(); //运行时期:引用类型变量所指的对象所属的类 并运行所属类中的方法
// 成员方法: 编译看左边 运行看右边
//成员变量 : 编译 运行全看左边
//int a = f.num;
Zi z =new Zi();
Person p = new Person();
Student s1=new Student();
Teacer t = new Teacer();
// System.out.println(a);
Boolean b = p instanceof Teacer;//前父后子
System.out.println(b);
}
}