当前位置: 移动技术网 > IT编程>开发语言>Java > java对象转型实例分析

java对象转型实例分析

2019年07月22日  | 移动技术网IT编程  | 我要评论
本文实例讲述了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程序设计有所帮助

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网