1.简单来说@override注解是告诉编译器,下面的方法是重写父类的方法
2.如果不写@override注解去直接重写方法,编译器是不会判断你是不是正确重写了父类中的方法的。如重写方法时参数与父类不同,程序是不会提示报错的。这会留下一个潜在的bug。当你写了@override注解时,程序会判断你是否正确的重写了父类的对应方法。而且加上此注解后,程序会自动屏蔽父类的方法。
package Temp;
class A {
int x = 6;
private int y = 2;
public A(int a) {
x = a;
}
int getz() {
int z;
z = x / y;
return z;
}
void show() {
System.out.println("x=" + x);
System.out.println("y=" + y);
System.out.println("z=" + getz());
}
}
class B extends A {
int x = 3, y = 5, z;
public B(int a) {
super(a);
}
int getz() {
z = x + y;
return z;
}
}
public class Temp {
public static void main(String[] args) {
A num1 = new A(10);
B num2 = new B(9);
num1.show();
num2.show();
}
}
Comments | NOTHING