java对象转型实例分析

作者:shichen2014 时间:2021-12-19 14:14:15 

本文实例讲述了java对象转型的概念,分享给大家供大家参考。具体方法如下:

对象转型(casting)注意事项如下:

1、一个基类的引用类型变量可以“指向”其子类的对象。

2、一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。

3、可以使用 引用变量 instanceof 类名 来判断该引用型变量所“指向”的对象是否属于该类或该类的子类。

4、子类的对象可以当做基类的对象来使用称作向上转型(upcasting),反之成为向下转型(downcasting)。

具体实现代码如下:


public class TestCasting{
 public static void main(String args[]){
   Animal animal = new Animal("name");
   Cat cat = new Cat("catName","blueColor");
   Dog dog = new Dog("dogName","yellowColor");

System.out.println(animal instanceof Animal);
   System.out.println(cat instanceof Animal);
   System.out.println(dog instanceof Animal);
   //System.out.println(animal instanceof cat);  //error

animal = new Dog("dogAnimal","dogColor");
   System.out.println(animal.name);
   //System.out.println(animal.forColor); //error
   System.out.println(animal instanceof Animal);
   System.out.println(animal instanceof Dog);
   Dog d1 = (Dog)animal;
   System.out.println(d1.forColor);
 }
}
class Animal{
 public String name;
 public Animal(String name){  
   this.name = name;
 }
}
class Cat extends Animal{
 public String eyeColor;
 public Cat(String name, String eyeColor){
   super(name);
   this.eyeColor = eyeColor;
 }
}

class Dog extends Animal{
 public String forColor;
 public Dog(String name, String forColor){
   super(name);
   this.forColor = forColor;
 }
}

运行结果如下图所示:

java对象转型实例分析

希望本文所述对大家的Java程序设计有所帮助

标签:java,对象,转型
0
投稿

猜你喜欢

  • Java 数据结构进阶二叉树题集下

    2022-07-11 19:16:18
  • 基于SpringBoot+Redis的Session共享与单点登录详解

    2023-09-22 18:13:48
  • Java反射之通过反射获取一个对象的方法信息(实例代码)

    2021-08-07 15:14:46
  • 浅谈Java中Collections.sort对List排序的两种方法

    2021-11-18 11:20:22
  • springboot2.0如何通过fastdfs实现文件分布式上传

    2022-03-20 16:49:24
  • SpringBoot 上传文件判空以及格式检验流程

    2023-01-19 05:07:36
  • C#调用webservice接口的最新方法教程

    2022-12-22 05:07:27
  • mybatis的动态SQL和模糊查询实例详解

    2022-03-10 09:47:03
  • Java Servlet简单实例分享(文件上传下载demo)

    2022-03-03 06:35:04
  • Java 设计模式中的策略模式详情

    2023-08-06 03:45:11
  • java 获取当前路径下的所有xml文档的方法

    2021-08-08 13:54:29
  • Java多线程编程中ThreadLocal类的用法及深入

    2022-03-17 03:21:29
  • Java输出链表倒数第k个节点

    2023-03-22 01:22:34
  • Java实现导入导出Excel文件的方法(poi,jxl)

    2021-09-13 21:12:35
  • Android 处理OnItemClickListener时关于焦点颜色的设置问题

    2021-09-02 01:47:00
  • logback中显示mybatis查询日志文件并写入的方法示例

    2023-11-03 03:01:48
  • java 中的instanceof用法详解及instanceof是什么意思(推荐)

    2023-06-07 13:52:27
  • 在SpringBoot项目中的使用Swagger的方法示例

    2022-01-04 15:14:39
  • SpringMVC使用RESTful接口案例详解

    2022-08-08 23:41:52
  • JAVA中对List进行查询

    2023-12-17 20:41:20
  • asp之家 软件编程 m.aspxhome.com