JAVA基础之多态成员特点

多态时,成员的特点:


1.成员变量。
编译时,参考引用型变量所属的类中是否有调用的成员变量。有,编译通过。无,编译失败。
运行时,参考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量。

大白话就是:编译和运行时都参考等号的左边即可。

2.成员函数(非静态)
编译时,参考引用型变量所属的类中是否有调用的成员函数。有,编译通过。无,编译失败。
运行时,参考的是对象所属的类中是否有调用的函数。

大白话就是:编译看左边,运行看右边。

3.静态函数
编译时,参考引用型变量所属的类中是否有调用的静态方法.
运行时,参考引用型变量所属的类中是否有调用的静态方法.

大白话就是:编译和运行都看左边.

其实对于静态方法:是不需要对象的,直接用类名调用即可。

class Fu
{
	int NUM=8;
	void show()
	{
		System.out.println("随意");
	}
}
class Zi extends Fu
{
	int NUM=9;
	void show()
	{
		System.out.println("随便");
	}
}
class DuoTai
{
	public static void main(String[] args) 
	{
		Fu f= new Zi();
		System.out.println(f.NUM);//结果会是8.
		//以上,如果父类中没有int变量的话,结果会报错。
		Zi z= new Zi();
		System.out.println(z.NUM);//结果会是9.
		//以上,如果子类中没有Int变量的话,结果就会是8.
		System.out.println("------------");
		Fu f1= new Zi();
		f1.show();//结果会是”随便“,因为创建对象后,f1就指向了子类创建的对象.
		//所以调用的方法就应该是对象的方法
		//但是如果父类中没有方法的话,编译就会报错。是不会出现运行子类方法的。
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值