51 方法重写需要注意的地方

权限修饰符需要注意的地方

派生类重写超类中的方法的权限修饰符,只能比超类的该方法的权限修饰符大或一样大。

权限修饰符的大小顺序:public default protected private

如超类中某方法的权限修饰符为:protected

则它的派生类重写此方法时可以使用:protected default public

返回值需要注意的地方

子类重写父类方法时,如父类中的方法返回值是void和基础数据类型,则子类重写时必须相同。

当重写的方法在父类中返回的是引用类型时,子类重写的该方法,返回的引用类型,只能小于等于该引用类型。小于等于指继承关系。

如:

class A{
	public B getB() {
		return null;
	}
	public A getA() {
		return null;
	}
}

class B extends A{
	public A getB() {//父类中此方法返回B类型,重写后试图返回A类型,编译报错
		return null;
	}
	public B getA() {//父类中此方法返回A类型,重写后返回比A类型小的B类型不报错
		
		return null;
		
	}
}

  

原文地址:https://www.cnblogs.com/Scorpicat/p/12027936.html