java总的重载(overload)、重写或覆盖(override)和隐藏分析;

class Super{
	
	public static void smethod(){
		System.out.println("super smethod!");
	}
	
	public static void stest(){
		System.out.println("super test!");
	}
	
	public void test(){
		System.out.println("super test!");
	}
	public void test(int i){
		System.out.println("super test i:"+i);
	}
}

class Sub extends Super{
	
	//重写或覆盖父类方法,
	//不管使用父类引用还是子类引用调用test()
	//都是调用此方法
	public void test(){
		
		System.out.println("sub test!");
	}
	//重载test方法
	public void test(String info){
		System.out.println(info);
	}
	//隐藏父类stest方法
	//使用子类引用调用stest(),则调用这里
	//父类引用调用stest(),则调用父类方法;
	public static void stest(){
		System.out.println("sub test!");
	}
}

public class SynchronizedTest {
	
	public static void main(String[] args) {
		
		Sub sub = new Sub();
		sub.test();//重写或覆盖,调用子类实现
		Super super1 = sub;
		super1.test();//重写或覆盖,调用子类实现

		//重载
		sub.test(100);
		sub.test("overload");
		
		//sub.stest();
		 
		sub.stest(); //子类中隐藏,依赖于引用类型,只能调用子类实现;
		super1.stest();//子类中隐藏,依赖于引用类型,调用父类实现;
		sub.smethod();//没有隐藏,调用父类实现;
		super1.smethod();//没有隐藏,调用父类实现;
		
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值