rt,final修饰的变量不是不能修改吗,下面的代码行吗,大家看看。不过确实没问题。class Fruite {
final int price = 5;
}class Orange extends Fruite {
final int price = 10;
}public class SweetOrange extends Fruite {
final int price = 20;
public static void main(String[] args) {
Fruite f=new SweetOrange();
Orange o=new Orange();
System.out.println(f.price|o.price);
}
}
final int price = 5;
}class Orange extends Fruite {
final int price = 10;
}public class SweetOrange extends Fruite {
final int price = 20;
public static void main(String[] args) {
Fruite f=new SweetOrange();
Orange o=new Orange();
System.out.println(f.price|o.price);
}
}
class Fruite {
final int price = 5;
}public class SweetOrange extends Fruite {
public static void main(String[] args) {
SweetOrange f = new SweetOrange();
f.price=100;//报语法错误,表名,父类的final变量不能被修改
System.out.println(f.price);
}
}你在子类中final int price = 20; -- 这个price和父类的price已经不一样了!!!