Posez votre question Signaler

Static private public en java

ili - Dernière réponse le 18 janv. 2011 à 14:27
Bonjour,
j'ai pas bien compris la difference quand on declare une methode ou une variable en static
est ce que quand on declare une methode static on peut l'utiliser dans une autre class
comment je dois faire pour utiliser une methode d'une classe dans une autre classe?
est ce que la declaratio de ces methodes ( en static ,public,private) joue un role sur les methode pour qu'ils seront accesibles dans tous les classes?
vous pouvez me donner des exemples merci d'avance
Lire la suite 

Static private public en java »

6 réponses
Réponse
+0
moins plus
Pour la déclaration d'une variable static, voir le commentaire de CharSnipeur
Remarque pour reprendre son exemple, il est usuel en Java d'utiliser la notation A.i et A.j plutôt que d'instancier un objet o1 et de manipuler o1.i, o1.j...

C'est à peu près pareil pour les méthodes. Une méthode est static quand elle n'est liée à aucun objet, dans ce cas on peut directement utiliser A.maMethode()
L'exemple classique est la méthode static main.

Evidemment les déclarations public, private, protected et "friendly" (quand on ne précise aucun des trois) auront une incidence sur quand on aura le droit d'utiliser A.maMethode, A.i, et A.j
Char Snipeur- 18 janv. 2011 à 13:48
attention, j'ai mis "i" en non statique, d'où l'utilisation de o1. Mon but étant de montrer la différence entre statique et non statique.
Ajouter un commentaire
Réponse
+0
moins plus
ce que j ai compris que,quand on declare une methode en static on peut pas l'utiliser a l exterieur de la class n est ce pas ??

et pour utiliser une methode d'une classe dans une autre il faut la declarer soit public soit private mais il faut faire les get et les set ??

merci pour les reponse
Ajouter un commentaire
Réponse
+0
moins plus
Si ! On peux utiliser une méthode static en dehors de la classe ou elle est définie, à condition qu'elle soit déclarée public (exemple : la méthode main), protected et utilisée par des classes filles, ou friendly et utilisés dans le même package.

Prends par exemple, les méthodes static de la classe Math : Math.sqrt, Math.pow...

Par contre les méthodes get et les set ne seront pas static, leurs valeurs dépendent de l'objet courant !
Ajouter un commentaire
Réponse
+0
moins plus
ce que j ai compris apres avoir faire un test :
que l avantage de declarer une methode static c est qu'on peut l'utiliser sans besoin d' instancier la class ou elle se trouve dedans.

public class principale
{
public static void main(String[] args){

Personne personne1 = new Personne(19,"kii","koo");
System.out.println(personne1.afficher());

int nombre = 2;
int nombre3;
nombre3 = calculer.calculer1(nombre);
System.out.println(nombre3);

}
}

la deuxieme :

public class Personne
{

private int age;
private String nom;
private String prenom;

public Personne(){
age=0;
nom = " ";
prenom =" ";

}

public Personne(int pAge,String pNom,String pPrenom){
age = pAge;
nom = pNom;
prenom = pPrenom;
}

public int getAge(){
return age;
}

public String getPrenom(){
return prenom;
}

public String getNom(){
return nom;
}


public void setAge(int pAge){
age = pAge;
}

public void setPrenom(String pNom){
nom =pNom;
}

public void setNom(String pPrenom){
prenom = pPrenom;
}

public String afficher(){
return nom + prenom + age;
}

la troixiéme :

public class calculer
{
// instance variables - replace the example below with your own
int nn = 13;
public static int calculer1(int pNombre){

return pNombre+2+ nn;
}
}
Ajouter un commentaire
Ce document intitulé « static private public en java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?