我想让一个方法声明两个String并为其分配值。然后使用另一种方法读取这些值。
我有这样的结构:
public class ABC extends CDE implements EFG {
public void firstMethod(valueOne, valueTwo) {
class TestClass {
public String testValue = valueOne;
public String anotherValue = valueTwo;
}
}
public void readMethod() {
// HERE I WANT TO READ testValue AND ASSIGN IT A NEW VALUE
}
}
我该怎么做?
还有更好的方法吗?
答案 0 :(得分:4)
确定要上课吗?
可能只需一个简单的字段声明就足够了:
cc_library
答案 1 :(得分:0)
也许这符合您的标准? 由于内部类的范围,您当前要的是不可能的。
您还可以在构造函数中初始化此私有类实例。
public class Sample {
class TestClass {
public String testValue;
public String anotherValue;
}
private TestClass localTest = new TestClass();
public void firstMethod(valueOne, valueTwo) {
localTest.testValue = valueOne;
localTest.anotherValue = valueTwo;
}
public void readMethod() {
localTest.testValue = "test1";
localTest.anotherValue = "anotherValue";
System.out.println(localTest.testValue);
}
}
答案 2 :(得分:0)
使局部类成为全局类,并通过实例设置/读取值:
public class ABC extends CDE implements EFG {
class TestClass {
public String testValue = valueOne;
public String anotherValue = valueTwo;
}
private testClassInstance = new TestClass()
public void firstMethod(valueOne, valueTwo) {
testClassInstance.testValue = valueOne
testClassInstance.anotherValue = valueTwo
}
public void readMethod() {
System.out.println(testClassInstance.valueOne)
System.out.println(testClassInstance.valueTwo)
}
}
答案 3 :(得分:0)
您要做的就是创建一个包含testValue
和anotherValue
的{{3}}并在您的组件类之外声明该类,例如:
class ExampleBean {
private String testValue;
private String anotherValue;
//getters and setters
}
完成后,您可以将该类的引用保存到组件类中并访问该值,例如:
public class ABC extends CDE implements EFG {
ExampleBean exampleBean = new ExampleBEan();
public void firstMethod(valueOne, valueTwo) {
exampleBean.setValueOne(valueOne);
exampleBean.setAnotherValue(valueTwo);
}
public void readMethod() {
String value = exampleBean.getValueOne();
}
}
答案 4 :(得分:0)
您要使用方法声明类,这是不正确的
您需要了解类和方法的真正含义(Google Java OOP):
1-您应该创建一个类并声明所需的变量
2-将默认值设为构造函数
3-让设置器设置(分配)这些值
4-让吸气剂读取这些值