java对象转型实例分析

所属分类: 软件编程 / java 阅读数: 42
收藏 0 赞 0 分享

本文实例讲述了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 中maven pom.xml文件教程详解

这篇文章主要介绍了java 中maven pom.xml文件教程详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

spring boot整合netty的实现方法

这篇文章主要介绍了spring boot整合netty的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Netty与Spring Boot的整合实现

这篇文章主要介绍了Netty与Spring Boot的整合的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring动态加载bean后调用实现方法解析

这篇文章主要介绍了Spring动态加载bean后调用实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java实现画图板上画一条直线

这篇文章主要为大家详细介绍了java实现画图板上画一条直线,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java通过python命令执行DataX任务的实例

今天小编就为大家分享一篇Java通过python命令执行DataX任务的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

springBoot集成redis的key,value序列化的相关问题

这篇文章主要介绍了springBoot集成redis的key,value序列化的相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

java实现登录案例

这篇文章主要为大家详细介绍了java实现登录案例的相关代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java解决请求跨域的两种方法

这篇文章主要为大家详细介绍了java解决请求跨域的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringBoot集成Beetl后统一处理页面异常的方法

这篇文章主要介绍了SpringBoot集成Beetl后统一处理页面异常的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多