Étendre une classe Java à partir d’un fichier dans un autre fichier Java

Comment puis-je inclure un fichier java dans un autre fichier java?

Par exemple: si j’ai 2 java, un fichier s’appelle Person.java et un s’appelle Student.java . Comment puis-je inclure Person.java dans Person.java pour pouvoir étendre la classe de Person.java dans Person.java

Il suffit de mettre les deux fichiers dans le même répertoire. Voici un exemple:

Person.java

 public class Person { public Ssortingng name; public Person(Ssortingng name) { this.name = name; } public Ssortingng toSsortingng() { return name; } } 

Student.java

 public class Student extends Person { public Ssortingng somethingnew; public Student(Ssortingng name) { super(name); somethingnew = "surprise!"; } public Ssortingng toSsortingng() { return super.toSsortingng() + "\t" + somethingnew; } public static void main(Ssortingng[] 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); } } 

Running Student (car il a la fonction principale) nous donne le résultat souhaité:

 Your name is foo My name is boo surprise! 

Ce qui manque à toutes les explications, c’est le fait que Java a une règle ssortingcte de nom de classe = nom de fichier . Ce qui signifie que si vous avez une classe “Person”, doit être dans un fichier nommé “Person.java”. Par conséquent, si une classe tente d’accéder à “Person”, le nom de fichier n’est pas nécessaire, car il doit s’agir de “Person.java”.

Venir pour C / C ++, j’ai exactement le même problème. La réponse est de créer une nouvelle classe (dans un nouveau nom de classe correspondant au fichier) et de créer une chaîne publique. Ce sera votre fichier “en-tête”. Ensuite, utilisez cela dans votre fichier principal en utilisant le mot clé “extend”.

Voici votre réponse:

  1. Créez un fichier appelé Include.java. Dans ce fichier, ajoutez ceci:

     public class Include { public static Ssortingng MyLongSsortingng= "abcdef"; } 
  2. Créez un autre fichier, disons User.java. Dans ce fichier, mettez:

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

Java n’utilise pas comme le fait C. Au lieu de cela, java utilise un concept appelé classpath, une liste de ressources contenant des classes Java. La JVM peut accéder à n’importe quelle classe du chemin de classes par son nom, donc si vous pouvez étendre les classes et faire référence aux types simplement en les déclarant. La chose qui ferme à une instruction include java est “import”. Puisque les classes sont divisées en espaces de noms comme foo.bar.Baz, si vous êtes dans le paquet qux et que vous voulez utiliser la classe Baz sans avoir à utiliser son nom complet de foo.bar.Baz, vous devez utiliser un déclaration d’importation au début de votre fichier java comme import foo.bar.Baz : import foo.bar.Baz

Vous ne le faites pas

Si vous souhaitez prolonger Person with Student, procédez comme suit:

 public class Student extends Person { } 

Et assurez-vous, lorsque vous comstackz les deux classes, que l’une peut trouver l’autre.

Quel IDE utilisez-vous?