Java面向对象之对象转移

      本文由广州疯狂软件Java培训为你整理:

  1.对象转移与基础类型的转换类似,只不过这个是针对对象的类型转换;

  2.一个基类的引用类型变量可以指向其子类的对象,也就是说基类可以把子类当做自己这个类的一个对象引用,但是有一些限制。

  如Animal类的一个对象a,可以转化成Dog类的一个对象使用。

3.但是基类的引用不能其子类新增的变量和方法。也就是说,a这个Animal对象转化成Dog后可以当Animal用,但不可以当Dog来用;

  4. 见下例:

  class Animal{

  String name;

  public Animal(String name){

  this.name = name;

  }

  }

  class Dog extends Animal{

  String furcolor;

  public Dog(String name,String furcolor){

  super(name);

  this.furcolor = furcolor;

  }

  }

  class Cat extends Animal{

  String eyecolor;

  public Cat(String name,String eyecolor){

  super(name);

  this.eyecolor = eyecolor;

  }

  }

  public class TestCasting{

  public static void main(String[] args){

  Animal a = new Animal("Animal_Name");

  Dog d = new Dog("Dog_Name","Yellow");

  Cat c = new Cat("Cat_Name","Blue");

  System.out.println(a.name);

  System.out.println(d.name+" "+d.furcolor);

  System.out.println(c.name+" "+c.eyecolor);

  a = new Dog("Snow","White");

  System.out.println(a.name);//Snow

  System.out.println(a.furcolor);//error

  System.out.println(a instanceof Animal);//true

  System.out.println(a instanceof Dog);//true

  Dog d2 = (Dog)a;//如果新引入一个对象,由Animal的那个对象转移过来,让他是Dog类,则新引入的对象完全变成Dog类

  System.out.println(d2.furcolor);//White

  }

  }

  学真正Java技术,当然选疯狂软件Java培训机构,打造国内中高端Java人才

  疯狂软件Java培训优势

  1. Java是世界第一大编程语言,Java行业很火爆。

  2.广州最专业Java培训机构,多年教学经验,资深教师授课。

  3.学员技术牛就业率最好,就业薪资都在5000以上。

  4.疯狂软件Java培训课程以项目实战带动教学,上课打破传统课堂模式,以实训项目贯穿教学,带领学生一起做企业真实项目。

  疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。高薪从IT名企请来项目经理为学员亲自授课,对学员进行实战教学,在没有工作经验的学员,在疯狂java,通过大量全真经典企业级项目进行集中培训,学员通过数月培训都可获得1-2年的工作经验,进而在同类的求职者中脱颖而出。疯狂Java培训让你体会java编程的快乐,项目开发的兴奋,成就感,通过短短几个月的时间,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,迅速成为技能型的现代化高端人才,迅速获得高薪就业!

原文地址:https://www.cnblogs.com/gojava/p/3560614.html