如何将一个java文件包含到另一个java文件中?
例如:如果我有两个java文件,一个叫做Person.java
,一个叫做Student.java
。如何将Person.java
包含到Student.java
中,以便在Student.java
中扩展Person.java
中的类
发布于 2009-05-18 18:07:23
只需将这两个文件放在同一个目录中即可。下面是一个例子:
Person.java
public class Person {
public String name;
public Person(String name) {
this.name = name;
}
public String toString() {
return name;
}
}
Student.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);
}
}
运行Student (因为它有main函数)会得到所需的结果:
Your name is foo
My name is boo surprise!
发布于 2009-09-17 11:23:16
在所有的解释中缺少的是Java有一个严格的类名=文件名的规则。这意味着如果你有一个类"Person",它必须在一个名为"Person.java“的文件中。因此,如果一个类试图访问"Person“,那么文件名就不是必需的,因为它必须是"Person.java”。
对于C/C++,我遇到了完全相同的问题。答案是创建一个新类(在与类名匹配的新文件中)并创建一个公共字符串。这将是你的“头”文件。然后使用“扩展”关键字在你的主文件中使用它。
这是你的答案:
public class包含{ public static String MyLongString= "abcdef";}
导入java.io.*;公共类用户扩展包括{ System.out.println(Include.MyLongString);}
发布于 2009-05-18 18:27:43
Java不像C那样使用includes。相反,java使用称为类路径的概念,即包含java类的资源列表。JVM可以通过名称访问类路径上的任何类,所以如果您可以扩展类并只需声明它们就可以引用类型。java的include语句的结尾是'import‘。因为类被分解成像foo.bar.Baz这样的名称空间,所以如果您在qux包中,并且希望在不使用全名foo.bar.Baz的情况下使用Baz类,那么您需要在java文件的开头使用一个导入语句,如下所示:import foo.bar.Baz
https://stackoverflow.com/questions/880662
复制