java对象转型实例分析
程序员文章站
2024-02-29 11:17:40
本文实例讲述了java对象转型的概念,分享给大家供大家参考。具体方法如下:
对象转型(casting)注意事项如下:
1、一个基类的引用类型变量可以“指向”其子类的对象...
本文实例讲述了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程序设计有所帮助