面向对象多态概念理解

什么是多态

一句话概括:父类对象引用子类变量 调用的是子类的实现

例子:chinese 类 以及chinese的父类person ,调用chinese类的实现。

子类

public class Chinese extends Person{

	public void hello()
	{
		System.out.println("我是中国人");
	}
	public void baimian()
	{
		System.out.println("我来拜年了");
	}
	
}

父类:

public class Person {

	public void hello()
	{
		System.out.println("我是人类");
	}

主程序:

public class main {

	
	public static void main(String []args)
	{
		
		Person p =new Chinese();
		p.hello();//实际指向的对象是chinese的对象,调用的是子类的对象
		//能调用什么方法取决于变量的类型
		//所以没有bainian这个方法
		
		
	}
	
}

总结 :父类变量指向子类的对象的时候,实现实际上是实现子类的方法,但是能调用什么方法取决于父类的变量是什么类型的,题中无法调用子类的bainian方法


根据传入的参数决定创建什么类型的对象

public static Person createPerson(int i)
	{
		
		if(i==3)
		{
			return new Chinese();
		}
		else
		{
			return new Person();
		}
		
	}

主程序执行这句话后结果是?

Person p2=createPerson(3);
p2.hello();

结果:




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值