我应该把我的课程放在主课之内还是之外?(最佳实践)

Lev*_*osa 2 java

我刚刚开始使用 Java,尽管我已经有一些 PHP 中的 OOP 经验

在此示例中,我有一个名为 Person 的简单类,其中包含姓名、年龄和性别等字段。我想知道什么被认为是最好的做法,做这样的事情:

public class Main {
    public static void main(String[] args){
        Person customer = new Person("Jonh Smith", 21, 'M');
        System.out.println(customer.name);
    }

    public static class Person {
        public String name;
        public int age;
        public char sex;

        public Person(String name, int age, char sex){
            this.name = name;
            this.age = age;
            this.sex = java.lang.Character.toUpperCase(sex);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,Person 类需要是静态的才能工作,这让我想知道这可能不是最好的方法,这是另一种方法:

public class Main {
    public static void main(String[] args) {
        Person customer = new Person("Jonh Smith", 21, 'M');
        System.out.println(customer.name);
    }
}
    
class Person {
    public String name;
    public int age;
    public char sex;

    public Person(String name, int age, char sex){
        this.name = name;
        this.age = age;
        this.sex = java.lang.Character.toUpperCase(sex);
    }
}

Run Code Online (Sandbox Code Playgroud)

那么,推动这一进程的最佳方式是什么?我仍然需要添加其他类,例如 Company。

Mar*_*eel 6

首选方法是在单独的文件中创建顶级类。也就是说,你有一个Main.javawith the class Main,和一个Person.javawith the class Person

Java 中允许在单个文件中创建多个顶级类(尽管只能有一个类public,并且如果是公共的,则该类的名称必须与文件名匹配),但通常不鼓励使用它。如果您确实想在单个文件中包含多个类,则基本建议是“不要这样做”,如果您确实想要,那么建议是使用嵌套类(如您的第一个示例),但通常仅当这些类紧密耦合时(例如需要访问彼此的内部)。

有关的: