Java-instanceof和类型转换
2021/4/28 20:25:27
本文主要是介绍Java-instanceof和类型转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
instanceof
public class Person { public void run(){ System.out.println("run"); } }
public class Student extends Person{ }
public class Teacher extends Person{ }
public class Application { public static void main(String[] args) { // instanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。 // Object > String // Object > Person > Teacher // Object > Person > Student Object object = new Student(); System.out.println(object instanceof Student); // true System.out.println(object instanceof Person); // true System.out.println(object instanceof Object); // true System.out.println(object instanceof Teacher); // false System.out.println(object instanceof String); // false System.out.println("===================================="); Person person = new Student(); System.out.println(person instanceof Student); // true System.out.println(person instanceof Person); // true System.out.println(person instanceof Object); // true System.out.println(person instanceof Teacher); // false // System.out.println(person instanceof String); // 编译报错 System.out.println("===================================="); Student student = new Student(); System.out.println(student instanceof Student); // true System.out.println(student instanceof Person); // true System.out.println(student instanceof Object); // true // System.out.println(student instanceof Teacher); // 编译报错 // System.out.println(student instanceof String); // 编译报错 } }
类型转换
public class Person { public void run(){ System.out.println("run"); } }
public class Student extends Person{ public void go(){ System.out.println("go"); } }
public class Teacher extends Person{ }
public class Application { public static void main(String[] args) { // 类型之间的转换 父 > 子 // Person 高 Student 低 Person obj = new Student(); // obj.go(); //报错 // student将这个对象转换为Student类型,我们就可以使用Student类型的方法了 // Student student = (Student)obj; // student.go(); // 简写 ((Student) obj).go(); // 子类转换为父类,可能丢失自己的本来的一些方法 // 低转高,直接转换 Student student1 = new Student(); student1.go(); Person person = student1; } }
多态 1. 父类的引用指向子类的对象(子类的引用不能指向父类的对象) 2. 把子类转换为父类,向上转型 3. 把父类转换为子类,向下转换;强制转换 4. 方便方法的调用,减少重复的代码,简洁
https://www.bilibili.com/video/BV12J41137hu?p=72
这篇关于Java-instanceof和类型转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26手写消息中间件:从零开始的指南
- 2024-11-26Java语音识别项目资料:新手入门教程
- 2024-11-26JAVA语音识别项目资料:新手入门教程
- 2024-11-26Java语音识别项目资料:入门与实践指南
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料入门教程
- 2024-11-26Java云原生资料:新手入门教程
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解