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

Jin*_*ong 57 java import include

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

例如:如果我有2个java文件,则调用Person.java一个,然后调用一个Student.java.我怎么能包括Person.javaStudent.java这样我可以从扩展类Person.javaStudent.java

Chr*_*nch 60

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

Person.java

public class Person {
  public String name;

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

  public String toString() {
    return name;
  }
}
Run Code Online (Sandbox Code Playgroud)

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);
  }
}
Run Code Online (Sandbox Code Playgroud)

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

Your name is foo
My name is boo  surprise!
Run Code Online (Sandbox Code Playgroud)

  • 你不需要在Student.java顶部使用某种import语句吗?那个import语句是什么样的? (6认同)
  • @ AndrewM.Farrell不,进口声明是没有必要的.只需将文件放在同一目录中并进行编译即可.他们将能够"看到"彼此就好了. (5认同)

Fra*_*ace 27

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

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

这是你的答案:

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

    public class Include {
        public static String MyLongString= "abcdef";
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建另一个文件,比如User.java.在这个文件中,放:

    import java.io.*;
    
    public class User extends Include {
        System.out.println(Include.MyLongString);
    }
    
    Run Code Online (Sandbox Code Playgroud)


Jhe*_*ico 19

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


Pab*_*ruz 5

你没有。

如果你想用学生扩展 Person ,只需执行以下操作:

public class Student extends Person
{
}
Run Code Online (Sandbox Code Playgroud)

并确保当您编译这两个类时,一个可以找到另一个。

你用的是什么IDE?