在每个方法中声明对象?

时间:2017-06-26 02:32:59

标签: java object methods

所以我是java的新手,但我精通python,而且我遇到了一个基本问题。我是否必须以我将要使用它的方法声明一个对象?或者有没有办法将对象从方法转移到方法?谢谢你的帮助(:

2 个答案:

答案 0 :(得分:0)

通常最推荐的方法是将方法从方法转移到方法。这有助于保持代码模块化并减少耦合。 Java中的一个常见概念是自定义类的getter和setter。见下面的例子:

public class MyClass {
    private String myString; // this variable can only be directly access from within MyClass scope.

    // constructor - called when an instance of MyClass is initialized ( e.g. MyClass myClass = new MyClass(); )
    public MyClass(){
        myString = "Hello world!"; // init my_string        
    }

    // Can access variable from within class to print
    public void printMyString(){
        System.out.println(myString);
    }

    // Can set private class variables
    public void setMyString(String input){
        this.myString = input; // set value
    }

    // Can get (return) private class variables
    public String getMyString(){
        return myString; // get value
    }
}

从您计划的其他部分:

MyClass myClass = new MyClass(); // init class (calls constructor)
System.out.println(myClass.getMyString()); // prints "Hello world!"
myClass.setMyString("Hola"); // changes value of myString
System.out.println(myClass.getMyString()); // prints "Hola"

System.out.println(myClass.myString); // Error: cannot directly access private variable of java class MyClass.

答案 1 :(得分:-1)

应该在多个方法中可用的变量应该在类的顶部声明如下。

public class Test{
  int number = 1;
  String text = "hello";

  public int method1() {
    return number + 1;
  }

  public String method2() {
    return text + " moo";
  }
}

或者,如果您有另一个与全局变量之一具有相同名称的变量,则可以使用类似this.number

的全局变量来引用该变量。