2016-04-05 71 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