gpt4 book ai didi

java对象转型实例分析

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java对象转型实例分析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

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

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

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

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

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

具体实现代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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对象转型实例分析的文章就讲到这里了,如果你想了解更多关于java对象转型实例分析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com