如何在非抽象class中访问抽象class的class变量?
How to access the class variable of abstract class in non abstract class?
我有抽象class,它在class有一个变量levele.Now我想在其他地方使用这个变量class.How我能实现吗?
以下是我的代码
public abstract class MyClass
{
String name="John";
}
创建变量 public static
并使用 class 名称,如 -
Myclass.name
否则
public abstract class MyClass
{
String name="John";
String getName()
{
return name;
}
}
class NewClass extends Myclass{
//inside method
new NewClass().getName();
}
尝试像这样扩展 class:
public class NewClass extends MyClass {
public NewClass() {
System.out.println(super.name);
}
}
公开 getter 和 setter 以便任何实例都可以访问该变量,例如:
MyNewClass clazz = new MyNewClass();
MyClass clazz = ....//child class?
clazz.getName();
由于您已经使用默认访问说明符定义了实例变量,任何 class 实例都可以使用 MyClassChildInstance.name;
访问它
注意:您定义的变量是特定于实例的,而不是 class 特定的。如果你想让它class具体那么你需要将该变量声明为静态。
我有抽象class,它在class有一个变量levele.Now我想在其他地方使用这个变量class.How我能实现吗?
以下是我的代码
public abstract class MyClass
{
String name="John";
}
创建变量 public static
并使用 class 名称,如 -
Myclass.name
否则
public abstract class MyClass
{
String name="John";
String getName()
{
return name;
}
}
class NewClass extends Myclass{
//inside method
new NewClass().getName();
}
尝试像这样扩展 class:
public class NewClass extends MyClass {
public NewClass() {
System.out.println(super.name);
}
}
公开 getter 和 setter 以便任何实例都可以访问该变量,例如:
MyNewClass clazz = new MyNewClass();
MyClass clazz = ....//child class?
clazz.getName();
由于您已经使用默认访问说明符定义了实例变量,任何 class 实例都可以使用 MyClassChildInstance.name;
注意:您定义的变量是特定于实例的,而不是 class 特定的。如果你想让它class具体那么你需要将该变量声明为静态。