多态实例

/*
基础班同学:
	学习,睡觉
高级班同学:
	学习、睡觉
*/

abstract class Student
{
	public abstract void study();
	public void sleep()
	{
		System.out.println("躺着睡");
	}
}

class BaseStudent extends Student
{
	public void study()
	{
		System.out.println("baseStudent");
	}
	public void sleep()								//如果没有覆写父类的sleep方法,子类对象在调用方法的时候调用父类的sleep方法。
	{
		System.out.println("站着睡");
	}
}
class Factory
{
	public void DoSomething(Student stu)                //此处要求Student类中的方法才能使用,子类的方法不能使用。子类方法需要对此方法进行覆写,
	{
		stu.study();              
		stu.sleep();
	}
}
class  Duotai
{
	public static void main(String[] args) 
	{
		Student stu=new BaseStudent();              //一个对象的多态,基础班的学生是基础班类型也是学生类型。父类的引用指向了自己的子类对象。
		stu.study();
		stu.sleep();
		Factory fc=new Factory();
		fc.DoSomething(new BaseStudent());		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值