码迷,mamicode.com
首页 > 编程语言 > 详细

java之对象转型

时间:2014-10-05 11:38:38      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   ar   java   for   strong   

对象转型(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;
    }
}

运行结果:

bubuko.com,布布扣

java之对象转型

标签:style   blog   http   color   使用   ar   java   for   strong   

原文地址:http://www.cnblogs.com/Gaojiecai/p/4006454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!