java之名称屏蔽

42 篇文章 0 订阅
35 篇文章 0 订阅

学习任何事物,先从其定义入手,那么我们将会更加深入的理解,首先我们来看一下什么叫名称屏蔽。

名称屏蔽:

如果说Java的基类拥有某个多次被重载的方法名称,那么如果你在导出类中重新定义该方法名称并不会屏蔽其在基类中的任何版本。也就是说,重载机制会正常工作。

package lession04;
class Homer{
	char doh(char c) {
		System.out.println("doh(char)");
		return 'd';
	}
	float doh(float f) {
		System.out.println("doh(float)");
		return 1.0f;
	}
}

class Milhouse{}

class Bart extends Homer{
	void doh(Milhouse m) {
		System.out.println("doh(Milhouse)");
	}
}

public class Hide {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Bart b=new Bart();
		b.doh(1);
		b.doh('x');
		b.doh(1.0f);
		b.doh(new Milhouse());

	}
}

看完这么一堆枯燥的代码之后,我们来进行一个简单的分析:我们可以看到的是在类Bart中定义了一个新的重载方法,但是它继承了Homer类,这个类中方法还会不会奏效呢?答案是肯定的(但在c++中不可行呢)。我们可以看结果:
在这里插入图片描述
在这我们也要介绍一个Java SE5中引入的新的注解**@override**,在覆写某个方法时使用,防止你在不想重载时而意外的进行了重载。

请批评指正,谢谢

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值