【问题标题】:Use the Object that is calling the method使用调用方法的对象
【发布时间】:2016-04-05 09:11:15
【问题描述】:

为这个措辞糟糕的问题道歉,但我对 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() 是从中使用的方法。

我希望这是有道理的。

谢谢!

【问题讨论】:

    标签: java methods syntax


    【解决方案1】:

    returnIntClassA的实例方法,所以它可以调用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;
    }
    

    【讨论】:

    • 对,那是因为他在非静态上下文中操作(他就是这样):)
    • 我不明白这是一个静态上下文,该方法是一个实例方法,他正在使用同一实例的另一个实例方法。
    • 啊完美。我把自己搞砸了,过度思考了这一切的语义。谢谢!
    猜你喜欢
    • 2010-11-02
    • 1970-01-01
    • 2013-08-18
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多