如何在java中重写子类中的变量(存在于父类中)?
//这是我的两门课如何在java中重写子类中的变量(存在于父类中)?,java,Java,//这是我的两门课 TestSetupBAT.java public class TestSetupBAT { public static List<String> uniqueNameFields = new ArrayList<String>(); } SmokeTest.java public class SmokeTest extends TestSetupBAT { uniqueNameFields.add("welcome"); //thro
TestSetupBAT.java
public class TestSetupBAT {
public static List<String> uniqueNameFields = new ArrayList<String>();
}
SmokeTest.java
public class SmokeTest extends TestSetupBAT {
uniqueNameFields.add("welcome"); //throws error
}
公共类TestSetupBAT{
public static List uniqueNameFields=new ArrayList();
}
SmokeTest.java
公共类SmokeTest扩展了TestSetupBAT{
uniqueNameFields.add(“欢迎”);//抛出错误
}
按以下步骤操作:,
您试图访问字段并在类级别修改它,而不是在一个ctor/方法中完成
public class TestSetupBAT
{
public static List<String> uniqueNameFields = new ArrayList<String>();
}
SmokeTest.java
public class SmokeTest extends TestSetupBAT {
public SmokeTest()
{
uniqueNameFields.add("welcome");
}
}
公共类TestSetupBAT
{
public static List uniqueNameFields=new ArrayList();
}
SmokeTest.java
公共类SmokeTest扩展了TestSetupBAT{
公众吸烟测试()
{
uniqueNameFields.add(“欢迎”);
}
}
如何在中重写子类中的变量(存在于父类中)
爪哇
static
字段在Java中无法继承,因此如果您想在子类中重写它,即SmokeTest
,请删除uniqueNameFields
的static
另外,您的uniqueNameFields.add(“欢迎”)代码>代码不属于任何块(如任何方法、构造函数等),即uniqueNameFields.add(“欢迎”)代码>语句应位于构造函数或方法(如下所示)或初始化块下
public class TestSetupBAT {
protected List<String> uniqueNameFields = new ArrayList<String>();
}
public class SmokeTest extends TestSetupBAT {
//override uniqueNameFields
proectected List<String> uniqueNameFields = new ArrayList<String>();
public void method1() {
//"welcome" will be added to overridden uniqueNameFields
uniqueNameFields.add("welcome");
}
}
公共类TestSetupBAT{
受保护列表uniqueNameFields=new ArrayList();
}
公共类SmokeTest扩展TestSetupBAT{
//覆盖唯一字段
Proected List uniqueNameFields=new ArrayList();
公共无效方法1(){
//“欢迎”将添加到覆盖的uniqueNameFields中
uniqueNameFields.add(“欢迎”);
}
}
您遇到了什么错误?欢迎使用堆栈溢出!请拿着这个,四处看看,通读一遍,特别是上面的问题一点也不清楚。您想如何处理SmokeTest中的uniqueNameFields
?你是怎么想的?选民们,请告诉我这有什么问题