Java中super关键字的范围和用法

为什么我不能用super关键字访问父类变量?

使用以下代码,输出为:

feline cougar cc 
 class Feline { public String type = "f "; public Feline() { System.out.print("feline "); } } public class Cougar extends Feline { public Cougar() { System.out.print("cougar "); } void go() { type = "c "; System.out.print(this.type + super.type); } public static void main(String[] args) { new Cougar().go(); } } 

原始问题的答案很简单:只有一个名为type的变量。 它的初始值被c覆盖。 请记住,只有一个对象,所以一个变量。 Prashant的代码创建了第二个变量,显然不会覆盖父类中的原始字符串。