Je voudrais juste un exemple clair de la façon d'instancier une classe finale publique en Java. Je dois utiliser une méthode d'une classe comme celle-ci pour un projet, et je n'ai aucune idée de comment l'instancier en premier lieu. Très difficile de trouver un exemple clair et une explication de la syntaxe appropriée. Merci pour l'aide.Utilisation des classes finales publiques Java
Répondre
public class Test {
public static void main(String[] args) {
Project pro = new Project();
pro.getName();
}
}
final class Project{
public String getName(){return "";}
}
===============================
peut être créé une classe finale comme un classe normale, seule chose est qu'il ne peut pas être étendu
Hmmm ... Je ne sais pas pourquoi cet appel régulier ne fonctionne pas pour moi. Je n'ai pas de problème à créer une classe finale, c'est à peu près tout ce que les gens ont pu me montrer comment faire. J'ai un problème appelant cette classe. Pour une raison quelconque, mes instructeurs ont privé le constructeur de cette dernière classe, donc je ne peux pas simplement: "Project pro = new Project();" autre que de le faire, je n'ai aucune idée de comment appeler une classe. – NooberBLucky
Dans le constructeur est privé, alors vous aurez une méthode statique publique comme getInstance(), qui retournera la référence de cette classe. vous pouvez utiliser cette méthode pour obtenir la référence d'objet. Probablement la classe sera singleton. Si vous le pouvez, partagez le code pour référence: Projet p = project.getInstance(); // le nom de la méthode peut varier selon votre implémentation – upog
Ok cela ressemble à quelque chose d'utile ...pouvez-vous me montrer un exemple d'utilisation d'une méthode pour référencer une classe finale. J'ai essayé un certain nombre de syntaxe mais continue d'obtenir des erreurs dans mon contrôle d'erreur. La méthode dont j'ai besoin s'appelle public static int uniform (int N) et la classe est StdRandom. Donc j'essaie ceci: StdRandom.uniform (N) et il est faux StdRandom s = nouveau StdRandom (s.uniform (N)); "juste désespéré ici" int a = statique StdRandom.uniform (N); – NooberBLucky
Ceci est un exemple
public class del {
public static void main(String args[])
{
x x1=new x();
System.out.println(x1.u());
}
}
final class x
{
public String u()
{
return "hi";
}
}
Comme vous pouvez le voir, x est une classe finale et une méthode u qui renvoie une chaîne. J'instance x dans la classe del et j'appelle sa méthode u. La sortie est salut
Pour plus d'informations cliquez sur final
final class Test{
public void callMe(){
System.out.println("In callMe method.");
}
}
public class TestingFinalClass{
public static void main(String[] args){
Test t1 = new Test();
t1.callMe();
}
}
Sortie: In callMe method.
final
en java est appliqué à la variable, méthode, classe
- variable final : la variable ne peut pas être signée avec une autre valeur.
- méthode finale: la méthode ne peut pas être surchargée.
- Classe finale: la classe ne peut pas être étendue.
Le meilleur exemple est la classe String dans Java. public final class String
vous pouvez accéder aux méthodes de classe String comme d'habitude.
Quelques liens
public class Test {
public static void main(String[] args) {
StdRandom stdRandom = StdRandom.getInstance(); /* this will retun an instance of the class, if needed you can use it */
int result =StdRandom.uniform(1);
System.out.println(result);
}
}
final class StdRandom{
private static StdRandom stdRandom = new StdRandom();
private StdRandom(){
}
public static StdRandom getInstance(){
return stdRandom;
}
public static int uniform(int N){
// Implement your logic here
return N;
}
}
upog il n'y a pas de méthode getInstance() dans la classe, et je ne peux rien changer dans le fichier. Il n'y a pas non plus d'instanciation statique privée de stdRandom dans la classe finale. Est-ce la seule façon d'utiliser une méthode de cette classe. – NooberBLucky
Il n'est pas obligatoire d'avoir une méthode qui retournera la référence de l'objet. Si la méthode que vous voulez utiliser est statique alors essayez ClassName.staticMethodName() cela devrait fonctionner, sinon postez votre code pour référence, pour commenter plus sur cela – upog
Merci upog qui semble fonctionner .... Je ne comprends pas pourquoi , mais j'espère que je le ferai bientôt. Donc, pour cette classe finale, je n'ai pas besoin de l'instancier, et je peux juste appeler des méthodes de cette façon. Bon à savoir. – NooberBLucky
- 1. clone() des classes non finales
- 2. Importation de classes finales
- 3. classes statiques et les classes finales en java
- 4. Java Aide: Utilisation des classes
- 5. Utilisation des finales statiques dans Android Activité
- 6. Classes imbriquées "publiques" ou non
- 7. PHP - Obtenir des variables publiques Classes?
- 8. Faire des classes publiques à d'autres classes en C++
- 9. cas d'utilisation pour les classes finales
- 10. Passage de variables finales à des classes anonymes
- 11. Utilisation interne de classe des propriétés publiques
- 12. Redéfinition des méthodes de classes différentes en java
- 13. Pourquoi les classes internes anonymes sont implicitement marquées comme finales?
- 14. Utilisation de variables publiques globales
- 15. Utilisation des classes Codeigniter
- 16. Utilisation des classes CSS
- 17. foncteurs publiques en utilisant les classes anonymes
- 18. Sérialisation XML pour plusieurs classes publiques partielles
- 19. accès des classes non publiques en paquet sun.awt [spécifiquement: FetcherInfo]
- 20. Java est-il possible d'avoir des variables privées et publiques?
- 21. Méthodes publiques dans les classes private-package
- 22. Utilisation de classes Java avec C#
- 23. Utilisation de classes Java avec des pages JSP
- 24. Utilisation des interfaces dans les classes en Java
- 25. Les "variables statiques finales" sont-elles efficaces en Java (Android)?
- 26. Rendre les classes finales par défaut dans Eclipse?
- 27. Rendre les classes de service de printemps finales?
- 28. Utilisation de XmlSerializer avec des propriétés const publiques et privées
- 29. Utilisation des classes iPhone ASIHTTPRequest
- 30. Utilisation des interfaces sur les classes
Voir http://stackoverflow.com/questions/5181578/use-of-final-class-in-java – user998692
Ce qui rend vous pensez qu'il y a quelque chose de spécial à propos de la finale? Je veux dire, si vous avez juste essayé, vous auriez réalisé que cela fonctionne normalement ... –
http://stackoverflow.com/help/asking –