关于instanface的问题
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);
}
}
关于instanface的问题的更多相关文章
- 覆盖equals方法时请遵守通用约定
覆盖equals方法时请遵守通用约定 覆盖equals方法看起来很简单,但是有许多覆盖方式会导致错误,并且后果很严重.最容易避免这种类问题的方法就是不覆盖equals方法,在这种情况下,类的每个实 ...
随机推荐
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十七章:拾取
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十七章:拾取 代码工程地址: https://github.com/ ...
- jQuery show hide方法 二级菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 2019-1-9-WPF-最小的代码使用-DynamicRenderer-书写
title author date CreateTime categories WPF 最小的代码使用 DynamicRenderer 书写 lindexi 2019-1-9 14:7:26 +080 ...
- Java练习 SDUT-1194_余弦
C语言实验--余弦 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 输入n的值,计算cos(x). Input 输入数据 ...
- hdu 4128 Running relay (线性规划转半平面交)
Problem - 4128 对偶线性规划转半平面交,这题的正解O(nlogn)解法,目前网上没有找到这样的正解. 原来的不等式组, sigma{-si*xi}>=-W+d*sigma{si} ...
- MyEclipse2016项目内复制一个项目,如何更改项目的访问路径
在MyEclipse2010版本如果复制了一个项目,需要改项目的访问路径的话,可以选中项目右键,点开Properties,在顶部搜索web,就会出现如下内容,这是只需要在里面更改路径就可以了. 而在2 ...
- Where是深复制
从一个List中通过Where过滤出来的子List或Fist出来的单独元素,与原List是深复制关系.也就是说修改子list,或单独元素,并不会影响原List中的对象. 如:Geom g = Geom ...
- Python深入:stevedore简介
stevedore是用来实现动态加载代码的开源模块.它是在OpenStack中用来加载插件的公共模块.可以独立于OpenStack而安装使用:https://pypi.python.org/pypi/ ...
- Python深入:Distutils安装包
一:简介 尽管Python标准库已经支持很多的功能,但是有时还是会需要以第三方模块的形式添加新的功能到Python中. 在最简单的场景中,是你要安装的模块,已经有了针对你的平台的安装版本,因此只需要像 ...
- 关于react-router 路径改变页面没有刷新
routert.js 中: <Router> <Switch> <Route exact path="/" component={Login}> ...