代码改变世界

关于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);
}
}