2017-06-26 118 views
-2

所以我是新來的java,但我很流利的蟒蛇,我堅持一個基本的問題。我是否必須用我將要使用它的相同方法來聲明一個對象?或者有沒有辦法將對象從方法轉移到方法?謝謝您的幫助(:在每種方法中聲明對象?

+0

你的意思'this' ...? – Li357

+0

建議您閱讀一些基本的Java編程資源/書籍 –

+4

我建議您展示一個Python代碼,演示您想要在Java中實現的概念。有機會,有人會說流利的兩種語言,並告訴你如何將相同的概念翻譯成Java。 – dasblinkenlight

回答

0

從方法到方法的傳遞對象通常是最推薦的方法,這有助於保持代碼模塊化並減少耦合在Java中一個常見的概念是getters和自定義類的設置器。請參閱下面的示例:

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

變量應該跨越多種方法可應在類的頂部作如下聲明

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

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

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

或者,如果你有相同的名稱,另一個變量其中一個全局變量可以參考全局變量,如this.number