最新java中 instanceof 的用法,java注解原理面试题

总结

总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。

如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

instanceof 是一个运算符,语法为:

引用类型变量(object) instanceof 类(class)

功能:

判断前面的对象是否属于后面的类,或者属于其子类;

如果是,返回 true,不是返回 false

注意事项:

使用 instanceof 时需要保证:

instanceof 前面的引用变量编译时的类型要么与后面的类型相同,要么与后面的类型具有父子继承关系

例如:

Object test = “Hello”; // test实际类型是String,但是Object是所有类的父类

System.out.println(test instanceof Object); // 返回true ,因为test编译时时Object类,test可以是Object类实例

System.out.println(test instanceof String); // 返回true ,因为Object是String的父类,test可以是String类的实例

System.out.println(test instanceof Math); // 返回false ,因为Object是Math的父类,但是test不是Math类的实例

// 不符合instanceof语法规则:

String test02 = “Hello”; // test02是String类

System.out.println(test02 instanceof Math); // 编译出错,String类和Math类无继承关系

其实对于instanceof 可以理解为:什么什么…是否是…什么什么

下面看一个测试代码:

// 抽象一个人类作为父类

class Person {

String name;

public void classes() {}

public void doWork() {}

}

// 学生类

class Students extends Person {

Students(String myName) {

this.name = myName;

}

// 子类重写父类方法,覆盖了父类方法

public void classes() {

System.out.println(this.name + “在听课”);

}

// 子类重写父类方法,覆盖了父类方法

public void doWork() {

System.out.println(this.name + “在写作业”);

}

// 子类独有方法

public void playing() {

System.out.println(this.name + “在玩游戏”);

}

}

// 老师类

class Teachers extends Person {

Teachers(String myName) {

this.name = myName;

}

// 子类重写父类方法,覆盖了父类方法

public void classes() {

System.out.println(this.name + “在上课”);

}

// 子类重写父类方法,覆盖了父类方法

public void doWork() {

System.out.println(this.name + “在改作业”);

}

// 子类独有方法

public void shopping() {

System.out.println(this.name + “在逛街”);

}

}

public class PolymorphismTest02 {

public static void main(String[] args) {

//此处发生多态

Person s = new Students(“张三”);

Person t = new Teachers(“李四”);

s.classes();

s.doWork();

最后

我还为大家准备了一套体系化的架构师学习资料包以及BAT面试资料,供大家参考及学习

已经将知识体系整理好(源码,笔记,PPT,学习视频)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

需要这份系统化的资料的朋友,可以点击这里获取

  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值