从一个文件在另一个 java 文件中扩展 java 类

2022-08-31 14:43:49

如何将一个 java 文件包含到另一个 java 文件中?

例如:如果我有2个java文件,一个被调用,一个被调用。如何包含 into,以便可以从 in 扩展类Person.javaStudent.javaPerson.javaStudent.javaPerson.javaStudent.java


答案 1

只需将两个文件放在同一目录中即可。下面是一个示例:

人.java

public class Person {
  public String name;

  public Person(String name) {
    this.name = name;
  }

  public String toString() {
    return name;
  }
}

学生.java

public class Student extends Person {
  public String somethingnew;

  public Student(String name) {
    super(name);
    somethingnew = "surprise!";
  }

  public String toString() {
    return super.toString() + "\t" + somethingnew;
  }

  public static void main(String[] args) {
    Person you = new Person("foo");
    Student me = new Student("boo");

    System.out.println("Your name is " + you);
    System.out.println("My name is " + me);
  }
}

运行学生(因为它具有主要功能)为我们带来所需的结果:

Your name is foo
My name is boo  surprise!

答案 2

所有解释中缺少的是Java有一个严格的规则,即类名=文件名。这意味着如果你有一个类“Person”,则必须在一个名为“Person.java”的文件中。因此,如果一个类尝试访问“Person”,则文件名不是必需的,因为它必须是“Person.java”。

来到C / C++,我有完全相同的问题。答案是创建一个新类(在匹配类名的新文件中)并创建一个公共字符串。这将是您的“头”文件。然后通过使用“扩展”关键字在主文件中使用它。

这是你的答案:

  1. 创建一个名为“包含.java”的文件。在此文件中,添加以下内容:

    public class Include {
        public static String MyLongString= "abcdef";
    }
    
  2. 创建另一个文件,例如,用户.java。在此文件中,放置:

    import java.io.*;
    
    public class User extends Include {
        System.out.println(Include.MyLongString);
    }