首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Monkey Java》课程5.5之对象的转型

《Monkey Java》课程5.5之对象的转型

作者头像
GitOPEN
发布2019-01-29 11:14:24
2940
发布2019-01-29 11:14:24
举报

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

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

对象的向上转型

概念:

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

注意:

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

格式:

// 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;

  }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/07/16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对象的向上转型
    • 例子1:(请动手)
    • 对象的向下转型
      • 例子2:(请动手)
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档