2016-04-05 73 views
1

抱歉,這個問題非常棘手,但我對Java有點新,但仍然有點不確定如何說出我的問題/不確定是否有可能做我想做的事情。使用調用方法的對象

我有一個叫ClassA類,它有一個簡單的方法returnInt,看起來是這樣的:

public class ClassA { 

private int numberino; 

public ClassA(Int int) { 
    this.numberino = int; 

public boolean isPositive(){ 
    if (this.numberino > 0){ 
     return true; 
    return false; 

public int returnInt() { 
    final int addVal = 2; 
    int sum = 1 
    sum = addVal*numberino + sum; 
    return sum; 

} 

現在,當我在另一個主循環調用此方法,如:

ClassA temp = new ClassA(7); 
temp.returnInt(); 

我問題是,無論如何,我可以將對象temp轉換爲returnInt()方法,因此我可以在其上使用isPositive(int)方法而不改變結構(通過傳遞參數) returnInt()方法? 像這樣的事情是我會想像它(但我知道這是錯誤的);

public int returnInt() { 
    final int addVal = 2; 
    int sum = 1 
    if (temp.isPositive()){ 
     sum = addVal*numberino + sum; 
    } 
    return sum; 

如果這一temp是被創建的對象,並且該方法是returnInt()從它正在使用的方法。

我希望這是有道理的。

謝謝!

回答

2

returnInt是一個實例方法ClassA,所以它可以調用任何方法ClassA。沒有必要傳遞任何東西。

public int returnInt() { 
    final int addVal = 2; 
    int sum = 1 
    if (isPositive()) { // or this.isPositive() if you want to be explicit 
     sum = addVal*numberino + sum; 
    } 
    return sum; 
} 
+0

權,這給了他在非靜態上下文操作(這是他的):) – vikingsteve

+0

我看不出這是一個靜態的背景下,該方法是一個實例方法,他使用另一個實例 - 在它的同一個實例的方法。 – HopefullyHelpful

+0

啊完美。我搞砸了所有的語義。謝謝! – flexcookie