java4 动态多态性

本文探讨了Java中的动态多态性,它涉及到子类如何覆盖父类中相同声明的非静态成员方法,以及这种机制如何在运行时实现多态行为。

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

动态多态性指的是在子类和父类的类体中均定义了基本相同声明的非静态成员方法。所谓非静态成员方法指的是在成员方法定义中成员方法的声明不含方法修饰词static。这时也称为子类的成员方法对其父类基本相同声明的成员方法的覆盖(override)



class J_Employee1
{
	public int m_workyear;//工作的年限
	public J_Employee1()
	{
		m_workyear=1;
	} //J_Employee构造方法结束
	public void mb_printInfo()
	{
		System.out.println("该职工的工作年限为"+m_workyear);
	}//方法mb_printInfo结束
}//类J_Employee结束
public class J_Teacher3 extends J_Employee1 {
	public int m_classHour;//
	public J_Teacher3()
	{
		m_classHour=96;
	}//J_Teacher构造方法结束
	public void mb_printInfo()
	{
		System.out.println("该教师的工作年限"+m_workyear);
		System.out.println("该教师的授课的课时为"+m_classHour);
	}//方法mb_printInfo结束
	public static void main(String args[])
	{
		J_Employee1 a=new J_Employee1();
		a.mb_printInfo();
		a=new J_Teacher3();
		a.mb_printInfo();
	}//方法main结束
}//类J_Teacher结束

静态多态性指的是程序在编译时,系统就能决定调用哪个函数,如重载。 
动态多态性指在运行中才能动态确定操作指针所指的对象,主要通过虚函数和重写来实现。 
java 的多态机制遵循一个原则:当父类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值