Java:方法中的访问类

时间:2019-03-05 10:49:48

标签: java class

我想让一个方法声明两个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
    }
}

我该怎么做?

还有更好的方法吗?

5 个答案:

答案 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)

您要做的就是创建一个包含testValueanotherValue的{​​{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-让吸气剂读取这些值