gpt4 book ai didi

java - 为什么要将 main() 放在专用类中?

转载 作者:搜寻专家 更新时间:2023-10-30 21:45:12 24 4
gpt4 key购买 nike

我没有任何 Java 经验,但有 C 背景。

我想创建一个新的数据类型,比如抽象数据类型。在 C 中,这将通过为新数据类型创建一个结构来完成;我知道在 Java 中,您为该新数据类型创建一个类,然后着手为该类创建对象。

我已经用两种不同的方式编写了这个,它们似乎都有效。但是我不明白第二种方式的缺点。

  1. 在这里,我为数据类型创建一个类,创建它的一个实例,然后执行操作。我发现这是互联网教程中使用的设计。

    public class DesignOne {
    public static void main(String[] args) {
    MyDataType obj = new MyDataType(3,4);
    System.out.println(obj.sum());
    }
    }

    class MyDataType {
    int i;
    int j;

    MyDataType(int i, int j) {
    this.i = i;
    this.j = j;
    }

    int sum() {
    return this.i + this.j;
    }
    }
  2. 在这里,我在具有我的驱动程序函数的同一类中创建了该类的一个实例。 sum 等操作也被定义为该类的成员。基本上只有一类。

    public class DesignTwo {
    int i;
    int j;

    DesignTwo(int i, int j) {
    this.i = i;
    this.j = j;
    }

    int sum() {
    return this.i + this.j;
    }

    public static void main(String[] args) {
    DesignTwo obj = new DesignTwo(3,4);
    System.out.println("sum == "+obj.sum());
    }
    }

DesignTwo有什么缺点,为什么首选DesignOne?

最佳答案

它基本上归结为 Abstraction .你应该尝试给每个类(class)一个角色。在这里,您有两个角色需要填补:

  1. 加载一个对象并显示它
  2. 表示一个对象

因此你应该使用两个类。一旦您开始想要在您的程序中使用和显示不止一种类型的东西,优势就会变得更加明显。

关于java - 为什么要将 main() 放在专用类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33348698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com