多态

简单的说就是一个对象有这不同的类型。
多态在代码中的体现:父类或者接口的引用指向其子类的对象;
多态的好处:提高了代码的扩展性,前期定义的代码可以使用后期的内容;
多态的弊端:前期定义的内容不能使用(调用)后期子类的对象;
多态的前提:必须有关系,继承,实现;要有覆盖。

多态

1 成员变量

编译时:参考引用型变量所属的类中的是否有调用的成员变量,有,编译通过,没有,编译失败;
运行时:参考引用型变量所属的类中的是否有调用的成员变量,并运行该所属类中的成员变量
简单说:编译和运行都参考等号的左边

2 成员函数(非静态)

编译时:参考引用型变量所属的类中的是否有调用的函数,有,编译通过,没有,编译失败;
运行时:参考的是对象所属的类中是否有调用的函数
简单说:编译看左边,运行看右边
因为成员函数存在覆盖特性

3 静态函数

编译时:参考引用型变量所属的类中的是否有调用的静态方法。
运行时:参考引用型变量所属的类中的是否有调用的静态方法。
简单说,编译和运行都看左边。
其实对于静态方法,是不需要对象的。直接用类名调用即可。
代码示例

class Fu
{
//	int num = 3;
	void show()
	{
		System.out.println("fu show");
	}

	static void method()
	{
		System.out.println("fu static method");
	}
}

class Zi extends Fu
{
//	int num = 4;
	void show()
	{
		System.out.println("zi show");
	}

	static void method()
	{
		System.out.println("zi static method");
	}
}



class  DuoTaiDemo3
{
	public static void main(String[] args) 
	{
		Fu.method();
		Zi.method();
		Fu f = new Zi();//
//		f.method();
//		f.show();
//		System.out.println(f.num);


//		Zi z = new Zi();
//		System.out.println(z.num);
	}
}

运行结果

fu static method
zi static method
fu static method
zi show
3
4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值