多态性

本文通过具体示例展示了多态性的概念,即一个引用类型变量可以引用多种类型的对象,并探讨了当引用类型变量声明为父类类型却指向子类对象时,如何调用重写方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个对象只能属于一种确定的数据类型,该类型自对象创建直至销毁不能改变。
一个引用类型变量可能引用(指向)多种不同类型的对象—既可以引用其声明类型的对象,也可以引用其声明类型的子类的对象。
例5.7 多态性使用举例2
public class Test{
 public void show(Person p){
  System.out.println(p.getInfo());
 }
 public static void main(String[] args){
  Person p=new Person();
  Student s=new Student();
  Test t=new Test();
  t.show(p);  ?            t.show(s);   ?
 }
}在多态情况下,一个引用类型的变量如果声明为父类的类型,但实际引用的是子类对象,则该变量就不能访问子类中添加的属性和方法。可是如果此时调用的是父类中声明过,且在子类中又重写过的方法,情况又将如何?public class TestNovel{
 public void process(Book b){
  b.show();
 }
 public static void main(String[] args){
  TestNovel t=new TestNovel();
  Book b=new Book();  b.setName(“English Language”);
  b.setPrice(34);
  t.process(b);  //方法体中的b.show()输出结果?
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值