1つのJavaファイルを別のJavaファイルに含めるにはどうすればよいですか?別のjavaファイルの1つのファイルからJavaクラスを拡張する
例: 2つのJavaファイルがある場合、1つはPerson.java
と呼ばれ、1つはStudent.java
と呼ばれます。 Person.java
をStudent.java
に含めるには、Person.java
からStudent.java
1つのJavaファイルを別のJavaファイルに含めるにはどうすればよいですか?別のjavaファイルの1つのファイルからJavaクラスを拡張する
例: 2つのJavaファイルがある場合、1つはPerson.java
と呼ばれ、1つはStudent.java
と呼ばれます。 Person.java
をStudent.java
に含めるには、Person.java
からStudent.java
2つのファイルを同じディレクトリに配置するだけです。ここでは例です:
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!
にクラスを拡張することができます。
あなたが学生で人を延長したい場合は、単に実行します。
public class Student extends Person
{
}
そして、あなたは両方のクラスをコンパイルするとき、一方が他方ものを見つけることができ、確認してください。
どのIDEを使用していますか?
私は私のパブリッククラスの拡張を行う前に、私が持っていないStudnet 1日に個人用のファイルを含みますか?あなたはjavaのインクルードファイルのステートメントを知っていますか? 例えばphpでは、statmentはinclude( 'directoty/file_name')です。 –
こんにちは。 いいえ、Personのファイルを「インクルード」する必要はありません。クラスを拡張するだけです。クラスが同じパッケージにない場合は、そのクラスを「インポート」します。しかし、ファイルを含める必要はありません。実際、あなたはそれをすることはできません。あなたがしたい場合でも。 IDEを使用していますか? Eclipse?ネットビーンズ? –
クラスが同じパッケージにある場合(明示的なパッケージを持たないソースファイルのデフォルトパッケージを含む)は自動的です。 –
JavaはCのやり方を含んでいません。その代わりに、javaはクラスパスという概念を使用します。これはJavaクラスを含むリソースのリストです。 JVMは、名前でクラスパス上のどのクラスにもアクセスできます。クラスを拡張し、型を宣言するだけでそれらを参照できる場合。インクルードステートメントのjava hasを閉じることは 'import'です。クラスはfoo.bar.Bazのような名前空間に分割されているので、quxパッケージに入っていてfoo.bar.Bazというフルネームを使わずにBazクラスを使いたい場合は、そのようなあなたのjavaファイルの先頭にあるimport文:すべての説明から欠落しているもの import foo.bar.Baz
は、Javaがクラス名=ファイル名の厳格なルールを持っているという事実です。クラス "Person"がある場合は、 "Person.java"という名前のファイルに存在する必要があります。したがって、あるクラスが "Person"にアクセスしようとすると、 "Person.java"になっているので、ファイル名は必要ありません。
C/C++には、まったく同じ問題があります。答えは、(クラス名に一致する新しいファイル内に)新しいクラスを作成し、パブリック文字列を作成することです。これはあなたの "ヘッダー"ファイルになります。そして、あなたのメインファイルで "extends"キーワードを使ってそれを使用してください。
がInclude.javaというファイルを作成します。
はここにあなたの答えです。このファイルに、次のように追加します。
public class Include {
public static String MyLongString= "abcdef";
}
別のファイル、たとえばUser.javaを作成します。このファイルでは、置く:
import java.io.*;
public class User extends Include {
System.out.println(Include.MyLongString);
}
ありがとうございました –
Student.javaの一番上に何らかのインポートステートメントが必要ないのですか?そのインポートステートメントはどのように見えるのですか? –
@ AndrewM.Farrellいいえ、インポートステートメントは必要ありません。ファイルを同じディレクトリに置き、コンパイルしてください。彼らはお互いを「見る」ことができます。 – ApproachingDarknessFish