Java Can';不能从子类中通过“super”访问静态字段?
超类的代码为:Java Can';不能从子类中通过“super”访问静态字段?,java,eclipse,syntax-error,super,Java,Eclipse,Syntax Error,Super,超类的代码为: package morepackage; public class Subclass extends Superclass { public static void main ( String args[] ) { String name = super.text;//error in this line String name1 = Superclass.text;//no error in this line }} 谁能告诉我为什么行Strin
package morepackage;
public class Subclass extends Superclass {
public static void main ( String args[] )
{
String name = super.text;//error in this line
String name1 = Superclass.text;//no error in this line
}}
谁能告诉我为什么行String name=super.text
显示错误
而行
stringname1=Superclass.text代码>没有显示错误
?方法main
是静态
,在静态
方法中没有super
这样的东西。main
是一个静态方法,因此无法访问此
和super
的引用
在任何情况下,即使您确实获得了
子类
(例如,通过新建
)的实例,通过类实例访问类也不是好的做法,因此访问超类。text
是指代“Flowers”的正确方式.super
指实际对象的父类。在main方法中,没有什么像“实际对象”,因为它是一个静态范围
超类的属性text
定义为static,因此您可以通过staticmain方法中的it类名访问它
不要将类与对象(或实例)混淆。但是主方法包含在超类的子类中??
public class Superclass {
static String text = "flowers";
}