美文网首页Monkey Java
课程5.5之对象的转型

课程5.5之对象的转型

作者: GitOPEN | 来源:发表于2015-08-05 13:58 被阅读47次

转发请注明出处:
安卓猴的博客(http://sunjiajia.com)


本节课程将学习以下内容:

  • 对象的向上转型
  • 对象的向下转型

对象的向上转型

概念:

将子类的对象赋值给父类的引用。

注意:

  • 两个类一定要有继承关系;
  • 将子类的对象赋值给父类的引用;
  • 一个引用能够调用哪些成员(变量、方法),取决于这个引用的类型;
  • 一个引用调用的是哪个方法,取决于这个引用所指向的对象。

格式:

// Student类是Person类的子类
Student s = new Student();
// 将子类的对象s赋值给父类的引用p;
// 理解:每一个学生都是一个人。
Person p = s;

例子1:(请动手)

1.新建一个名为Person.java的Java源文件:

class Person{
  String name;
  int age;

  void introduce(){
    System.out.println("我的名字叫 " + this.name + ",我的年龄是 " + this.age);
  }
}

2.新建一个名为Student.java的Java源文件:

class Student extends Person{
  int grade;

  void study(){
    System.out.println("我正在学习。");
  }

  void introduce(){
    super.introduce();
    System.out.println("我的年级是 " + grade);
  }
}

3.新建一个名为Demo01.java的Java源文件:

class Demo01{
  public static void main(String[] args) {
    // 子类Student的对象stu01
    Student stu01 = new Student();
    // 向上转型
    // 将子类的对象stu01赋值给父类的引用p1
    Person p1 = stu01;

    p1.name = "li4";
    p1.age = 18;

    // 这里的introduce()方法是子类的。
    // 引用p1指向的对象是stu01,因此p1所调用的方法是stu01的方法。
    p1.introduce();

  }
}

对象的向下转型

概念:

将父类的对象赋值给子类的引用。

格式:

Student stu01 = new Student();
// 向上转型
Person p1 = stu01;
// 向下转型
Student stu02 = (Student)p1;

特点:

  • 要进行向下转型,先进性向上转型。

例子2:(请动手)

1.新建一个名为Demo01.java的Java源文件:

class Demo01{
  public static void main(String[] args) {
    // 子类Student的对象stu01
    Student stu01 = new Student();
    // 向上转型
    Person p1 = stu01;
    // 向下转型
    Student stu02 = (Student)p1;

  }
}

相关文章

  • 课程5.5之对象的转型

    转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 对象的向上转型...

  • JavaSE之多态

    转型:向上转型(上溯造型)、向下转型(下溯造型) 向上转型:父类引用指向子类对象。 父类的引用 = 子类的对象(也...

  • java向上转型

    java 之向上转型 当父类对象引用变量引用子类对象时,被引用对象的类型决定了调用谁的成员方法,引用变量类型决定可...

  • 2018-05-04 Java向上转型和向下转型

    Java中,对象类型转换分为向上转型和向下转型两种 1. 向上转型 子类对象到父类对象的类型转换,通常由系统自动完...

  • 对象转型

    分享以下一段代码 程序运行的结果是“#######”,但是a.Bprint()这里会出错,是不是就可以理解为向上转...

  • Java一阶段常用知识点

    1.上转型对象:父类声明,子类实例化的对象称为上转型对象。 使用规则: 上转对象不能操作子类新增的成员变量,失掉...

  • Java学习笔记 (一)

    多态性 方法的重载与覆写 对象的多态性①.向上转型:子类对象→父类对象 (自动完成)②.向下转型:父类对象→子类对...

  • 4.5dynamic_cast操作符

    向上转型:指用派生类指针指向基类对象 向下转型:指将基类指针指向派生类对象 向下转型不会有任何问题,而向上转型默认...

  • [新聚合大学]家族继承者:转型之路(问诊课4/回顾贴)

    本期《家族继承者》系列课程的转型之路 - 第四期问诊课已于2017年1月10日结束~ 本期课程的问诊对象为一家温州...

  • 对象的转型(向上转型和向下转型)

    转型是面向对象多态性的体现。 向上转型——将子类的对象赋值给父类的引用。 Student s=new Studen...

网友评论

本文标题:课程5.5之对象的转型

本文链接:https://www.haomeiwen.com/subject/bzovqttx.html