java3 静态多态性

  多态性是面向对象技术三大特征之一,多态性包括两种类型:静态多态性和动态多态性。注意:当类定义中出现同名的成员域是,不仅与多态性没有关系,而且一般是不提倡的。

  静态多态性指的是在同一个类中同名方法在功能上的重载(overload)。这也包括一个类对其父类同名方法在功能上的重载,而且在方法声明的形式上要求同名的方法具有不同的参数列表。这里方法可以是成员方法,也可以是构造方法。不同的参数列表是的是方法的参数个数不同、参数的数据类型不同或者参数的数据类型排列顺序不同。

package J_Student;

public class J_Student {
	public int m_id; //学号
	public int m_age; //年龄
	public J_Student()
	{
		mb_setData(200810400,19);
	}//J_Student构造方法结束
	public J_Student(int id,int age)
	{
		mb_setData(id,age);
	} //J_Student构造方法结束
	public void mb_setData(int id,int age)
	{
		m_id=id;
		m_age=age;
	} //方法mb_setData结束
	public void mb_setData(int id)
	{
		m_id=id;
	}//方法mb_setData结束
	public static void main(String arges[])
	{
		J_Student jack=new J_Student();
		jack.mb_setData(2008010408);
		J_Student lisa=new J_Student();
		lisa.mb_setData(2008010428,18);
		System.out.print("Jack的学号是"+jack.m_id);
		System.out.println(",年龄是"+jack.m_age);
		System.out.print("Lisa的学号是"+lisa.m_id);
		System.out.println(",年龄是"+lisa.m_age);
	}//方法main结束
}//类J_Student结束


在上面的例程中,构造方法和成员方法mb_setData都采用了静态多态性,即上面出现了互不冲突的多个构造方法和多个成员方法mb_setData。这样,在方法调用 jack.mb_setData(2008010408);时java虚拟机自动根据调用参数列表查找与其相匹配的方法public void mb_setData(int id)

同样,java虚拟机自动根据调用参数列表确定方法调用lisa.mb_setData(2008010428,18);调用的是成员方法 public void mb_setData(int id,int age)因为它们不仅参数个数相同,而且类型也相匹配。

类的成员方法 简称为方法,通常用来实现类的各种功能

构造方法和成员方法的区别:

A 格式区别:构造方法和类名相同,并且没有返回类型,也没有返回值

                    普通成员方法可以任意起名,必须有返回类型,可以没有返回值

B 作用区别:构造方法用于创建对象,并进行初始化值

                    普通成员方法是用于完成特定功能的

C 调用区别: 构造方法是在创建对象时被调用的,一个对象建立,只调用一次相应构造函数

                    普通成员方法是由创建好的对象调用,可以调用多次。 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值