JAVA 中的重写与重载

package com.sunp.mye;

class FatherClass{
	private void print()
	{
		System.out.println("in Fathter");
	}
	
	protected void f()
	{
		print();
	}
}
class Sonclass extends FatherClass{

	public void f(int i)//1.不是重载,是添加的新方法
	{
		System.out.println("son");
		print();
	}
	
//	@Override  不可以重写私有成员
	private void print() //不是重写,也不是重载,是添加的新方法
	{
		System.out.println("in son");
	}
}
public class MyFinal{

	public static void main(String[] args) {
		// TODO Auto
		Sonclass a = new Sonclass();
		a.f();
		a.f(2);
	//	a.print();   error,因为父类中的print为私有方法,所以子类没有访问权限。
	}
}

输出结果:

in Fathter
son
in son

 * 结论

 * 1.重载是同类中;重写是父类与子类中。所以只可以重写,不可以重载
 * 2.子类继承了父类的所有成员,但是子类没有访问父类私有成员的权限。
 * 3.无法重写。因为父类的私有成员不能被子类访问,所以不能重写。
 * 4.关于重写问题:
 * (1.子类中不可以降低父类方法的访问权限,但可以上升访问权限。
 * (2.返回类型必须与被重写方法的返回类型相同。方法名、参数列表也必须相同,只是方法体不同。
 * (3.子类抛出的异常类型不能比父类抛出的异常类型更宽泛!
 * (4.不能重写被标识为final的方法。
 * (5.因为父类的私有成员不能被子类访问,所以不能重写。同时,private方法被自动认为是final方法,所以private方法不可以改变,而且private方法不能被重载。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值