欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

java对象转型实例分析

时间:2021-05-04 10:47:53|栏目:JAVA代码|点击:

本文实例讲述了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中StringBuffer与String的区别解析

栏    目:JAVA代码

下一篇:详解spring-cloud与netflixEureka整合(注册中心)

本文标题:java对象转型实例分析

本文地址:http://www.codeinn.net/misctech/114227.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有