我有抽象类是有一个变量在类levele.Now我想在其他类中使用这个变量。我可以如何实现它?如何在非抽象类中访问抽象类的类变量?
以下是我的代码
public abstract class MyClass
{
String name="John";
}
我有抽象类是有一个变量在类levele.Now我想在其他类中使用这个变量。我可以如何实现它?如何在非抽象类中访问抽象类的类变量?
以下是我的代码
public abstract class MyClass
{
String name="John";
}
让你的变量public static
与类名使用像 -
Myclass.name
否则
public abstract class MyClass
{
String name="John";
String getName()
{
return name;
}
}
class NewClass extends Myclass{
//inside method
new NewClass().getName();
}
我不想使用静态 – 2015-02-23 05:38:02
这是错误的,因为成员不是静态的。 – 2015-02-23 05:39:40
如果它是一个包私有成员,你可以在'NewClass'中简单地将它引用为'name'。 – meskobalazs 2015-02-23 07:51:07
尽量延长类,如:
public class NewClass extends MyClass {
public NewClass() {
System.out.println(super.name);
}
}
暴露getter和setter,以便任何情况下都可以访问该变量,如:
MyNewClass clazz = new MyNewClass();
MyClass clazz = ....//child class?
clazz.getName();
既然你已经确定你的默认访问说明符实例变量,任何类实例可以通过访问它MyClassChildInstance.name;
注意事项:您定义的变量是特定于实例的,而不是类特定的。如果你想使它具体类,那么你需要声明该变量为静态。
1.扩展该类或2.使用反射。 :D – 2015-02-23 05:28:44
发表一个例子请 – 2015-02-23 05:29:45
@TarunSharma,首先你需要发布你的代码。 “帮助别人帮助自己”。 – hanumant 2015-02-23 05:31:24