通过方法调用的好Java设计是什么?

通过方法调用的好Java设计是什么?,java,Java,如果我想将一个方法调用到一个方法,这是一个好的设计吗? 下面的代码只是一个示例 public Enigma(){ String sentences = "This "; method1(sentences); } public void method1(String x){ x = x + "a "; method2(x); } public void method2(String x){ x = x + "test "; method3(x

如果我想将一个方法调用到一个方法,这是一个好的设计吗?
下面的代码只是一个示例

public Enigma(){
    String sentences = "This "; 
    method1(sentences);
}

public void method1(String x){
    x = x + "a ";
    method2(x);
}

public void method2(String x){
    x = x + "test ";
    method3(x);
}

public String method3(String x){
    x = x + "!";
    return x;
} 

如果这些方法只从构造函数调用,那么将它们公开是没有意义的

另外,通常在创建Enigma对象后,您会从外部调用method1

最后,您可能知道,这样的链接调用可能会导致代码难以理解和遵循


但是如果你的问题与“这是否有效”有关,答案很简单:是的。

我相信你的思路是正确的。即使你的例子没有做任何具体的事情,我相信指出可能的缺陷是个好主意

  • 类名必须与其Java文件的名称相同。例如,您的类“Enigma”必须写在“Enigma.java”文件中。否则,就会出现问题。通常,记住这是件好事
  • 请注意,您可以使用此函数的输出从
    method2
    调用
    method3

    public method2(String x) {
        x = x + "a ";
        x = x + method3(x)
    }
    
    请注意,此示例仅向您展示如何检索刚才调用的方法的值。您总是可以简单地调用此方法,就像调用
    void
    一样,即使该方法返回了某些内容。这两个选项都有效,由您根据上下文决定程序必须做什么以及如何做

  • 总的来说,您的类的正确Java语法如下:

    public class Enigma {
        //put your class properties here
    
        public Enigma(){
            String sentences = "This ";
            method1(sentences);
        }
    
        public void method1(String x) {
            x = x + "a "; method2(x);
        }
    
        public void method2(String x) {
            x = x + "test "; method3(x);
        }
    
        public String method3(String x) {
            x = x + "!";
            return x;
        }
    } 
    

    在此之后,如果使用
    Enigma
    a作为对象,则可能需要添加构造函数。如果
    Enigma
    不是一个对象,请在声明中方法返回类型之前写入
    static
    方法,使用
    static
    方法。例如:
    public void method1(String x){
    将变成
    public static void method1(String x){
    。如果可能的话,这样做是一个保持程序简单的好方法,就像脚本一样。

    我不同意——如果我猜对了他想要做的事情,我认为它不起作用。“下面的代码只是一个例子。”因此,我认为他理解代码除了字符串连接之外没有任何作用,但没有任何目的。问题是这样的链接调用在Java中是否有效(至少我得到了这个问题):PI不同意另一种说法。如果每个方法都很容易孤立地理解,并且都有自己的工作,那么方法调用链接是一个很好的解决方案。当然,仅仅将一个连贯的方法分成三部分是愚蠢的。我不知道如何回答这个问题;您编写的代码一事无成,并且正在询问它是否是一个好的设计。我不要这样认为。编写一事无成的代码的最佳设计是
    public Enigma(){}
    。如果您希望此代码实现某些功能,请让我们知道您希望它实现什么功能,我们可以告诉您它是否有效以及它是否是一个好的设计。使用示例代码可能没有意义,但是,请找到好的参数名。如果
    x
    不相同,请找到三个不同的参数名。方法调用的链接,如示例中所示,没有任何问题。在某些情况下,这将是良好的设计,这取决于。