繁体   English   中英

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

[英]Calling a Method if another Method is called

我很好奇 在Java中,是否可以将新创建​​的方法嵌套在方法内部? 我问这个问题是因为在我的书中,每个部分都有这些练习(我目前在Objects / Classes上),并且有一个问题告诉您,如果在同一个类中调用了另一个方法,则将布尔方法称为true。 (在被称为布尔变量的类中变为true)。 这是一个例子:

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

现在,我想知道是否可以在此方法中放置另一个方法,以调用方法setTrue是否将'trueOrFalse'设置为true? 还是我必须完全创建另一种方法? 我只是以这种方式尝试,因为我还没有真正读过任何说不可能的内容。 我已经尝试过了,但是IntelliJ并没有真正显示出它是否错了,所以我假设它一定有可能。

这是我尝试进一步澄清我的意思的内容:

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

我正在诚实地尝试学习事物为什么以及如何以它们的方式工作,而不是仅仅这样做,因为某人/某事告诉我这就是现在的样子,并且永远都会如此。

如果您对格式感到好奇或想要进行与此类似的练习,则可以将本书称为: Java简介,综合版本(第9版)。

不,您不能在另一个方法中有方法定义,必须在类中单独定义方法,否则该代码将无法编译

不,您不会相互嵌套方法,而是将它们全部列在一个类中。 但是,您可以在同一类中从另一个方法调用一个方法。 我想你已经做了很多次了。 因此,它看起来像:

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

    public int methodTwo() {
        // does somethingElse
    }

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

您不能像这样嵌套您的方法。 从您的代码来看,您似乎想要设置一个类变量。 将方法变量设置为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。

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

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

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

如果您想知道更多信息,请看一下

Java中的方法可以嵌套吗?有什么作用?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM