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

时间:2009-05-19 01:58:31

标签: java import include

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

例如: 如果我有2个java文件,则一个名为Person.java,一个名为Student.java。如何将Person.java添加到Student.java中,以便我可以在Person.java

Student.java扩展该课程

4 个答案:

答案 0 :(得分:60)

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

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);
  }
}

运行学生(因为它具有主要功能)可以产生预期的结果:

Your name is foo
My name is boo  surprise!

答案 1 :(得分:25)

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

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

这是你的答案:

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

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

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

答案 2 :(得分:19)

Java不使用包含C的方式。相反,java使用一个名为classpath的概念,这是一个包含java类的资源列表。 JVM可以按名称访问类路径上的任何类,因此如果您可以通过声明它们来扩展类并引用类型。包含语句java的关闭事物是'import'。因为类被分解为foo.bar.Baz这样的命名空间,如果你在qux包中并且想要使用Baz类而不必使用它的全名foo.bar.Baz,那么你需要使用你的java文件开头的import语句如下: import foo.bar.Baz

答案 3 :(得分:3)

你没有。

如果您想将Person扩展为Student,请执行以下操作:

public class Student extends Person
{
}

确保在编译两个类时,可以找到另一个类。

您使用的是什么IDE?