如果调用另一个方法,则调用方法

时间:2014-09-21 01:21:13

标签: java object methods

我感到很好奇。在Java中,是否可以在方法中嵌套新创建的方法?我问这个是因为在我的书中,每个部分都有这些练习练习(我目前正在使用对象/类),并且有一个问题告诉你如果另一个方法调用一个布尔方法为真,那么同一个类 - 被调用(在被称为布尔变量的类中变为true)。这是一个例子:

public void setTrue(int someRandomStuff) {
   this.someRandomStuff  = superRandomStuff; 
   // this is where the boolean variable comes into play
   trueOrFalse = true;
}

现在我想知道是否可以在此方法中添加另一个方法,如果方法setTrue设置' trueOrFalse'真的吗?或者我是否必须完全创建另一种方法?我只是这样尝试,因为我还没读过任何说过这不可能的东西。我已经尝试过这样做了,IntelliJ并没有真正证明它是否错了,所以我认为它一定是可能的。

以下是我试图进一步澄清我的意思:

public void setTrue(int someRandomStuff) {
   this.someRandomStuff = superRandomStuff;
   trueOrFalse = true;
   if (trueOrFalse) { 
     public boolean getTrueOrFalse() {
     return true;
   }
}

我老老实实地想要学习为什么以及如何按照他们的方式工作,而不仅仅是因为有人/某事告诉我这是一直存在的方式。

如果您对格式感到好奇或想要与此类似的练习,则会调用该书:Introduction to Java, Comprehensive Version (9th Edition).

4 个答案:

答案 0 :(得分:0)

不,你不能在另一个方法中有一个方法定义,方法必须在你的类中单独定义,那个代码不会编译

答案 1 :(得分:0)

不,你不相互嵌套方法,你在一个类中列出它们。但是,您可以在同一个类中调用另一个方法中的一个方法。我想你已经多次这样做了。所以它看起来像:

public class Something {
    public void methodOne() {
        // does something
    }

    public int methodTwo() {
        // does somethingElse
    }

    public void methodThree() {
        int variable = methodTwo();
    }
}

答案 2 :(得分:0)

你无法像这样嵌套你的方法。根据您的代码判断,您似乎想要设置一个类变量。将方法变量设置为true,将类变量设置为true

boolean isMethodCalled = false;

public void doMethod(int someRandomStuff) {
   this.someRandomStuff = superRandomStuff;
   isMethodCalled = true;
}

然后,您可以定义另一个返回trueOrFalse类变量的方法

public boolean getIsMethodCalled() {
   return isMethodCalled;
}

当调用doMethod时,这将使isMethodCalled为true。否则isMethodCalled将返回false。

答案 3 :(得分:0)

不允许在java中嵌套方法。它会给出编译错误。如果您的要求要求从一个方法调用另一个方法,您可以在与private相同的类中声明您的方法并调用它们。

public class MethodNesting {
    public void method() {
        myinnerMethod();
    }

    private void myinnerMethod() {
        // Do Something
    }
}

如果你很想知道更多关注这个

Can methods in java be nested and what is the effect?