Java-方法的重写及四种访问权限修饰符

方法的重写

  • 定义
    在子类中可以根据需要对父类中继承来的方法进行改造,也成为方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。
  • 要求
    • 重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型。
    • 重写方法不能使用比被重写方法更严格的访问权限。
    • 重写和被重写的方法须同时为static的,或同时为非static的。
    • 子类方法抛出的异常不能大于父类被重写方法的异常。

四种访问权限修饰符

  • Java权限修饰符public、protected、private置于类的成员定义前,用来限定对象对该类对象成员的访问权限。
    Java-方法的重写及四种访问权限修饰符_第1张图片
  • 对于class的权限修饰只可以用public和default
    • public类可以在任意地方被访问
    • default类只可以被统一包内部的类访问
  • 举例
 class Parent{
 	private int f1=1;
 	int f2=2;
 	protected int f3 =3;
 	public int f4=4;
 	private void fm1(){System.out.println("in fm1()f1="+f1);}
 	void fm2(System.out.println("in fm2()f2="+f2);}
 	protected void fm3(){System.out.println("in fm3()f3="+f3);}
 	public void fm4(){System.out.println("in fm4()f4="+f4);}
 	}
class Child extends Parent{
	private int c1=21;
	public int c2=22;
	private void cm1(){System.out.println("in cm1()c1="+c1);}
	public void cm2(){System.out.println("in cm2()c2="+c2);}
	public static void main(String[]args){
	int i;
	Parent p new Parent();
	i=p.f2;
	p.fm2;
	Child c=new Child();
	i=c.f2;
	i=c.c1;
	c.cm1();
	}
}

父类Parent和子类Child在同一包中定义时:

Java-方法的重写及四种访问权限修饰符_第2张图片
Java-方法的重写及四种访问权限修饰符_第3张图片
子类的对象可以调用的方法

你可能感兴趣的:(Java-方法的重写及四种访问权限修饰符)