La commande java
prend en entrée un fichier .class afin de l'interpréter
exécute la méthode main de la classe java contenue dans le fichier .class qui est en entrée de la commande
Les méthodes public de la classe A
Les méthodes publiques de la classe A peuvent utiliser directement les attributs privés de la classe A".
peuvent utiliser directement les attributs publiques de la classe A
Soit le code JAVA suivant :
public class Exemple
{
????? int var_x;
public static void main(String a_args[])
{
var_x = Integer.parseInt(a_args[0]);
System.out.println("X=" + var_x);
}
}
On exécute ce programme avec la commande : java Exemple 123 Pour que ce code soit correct, il faut remplacer ????? par :
Pour que ce code soit correct, il faut remplacer "?????" par "static". En effet, la méthode main est une méthode statique, elle peut donc accéder directement aux attributs statiques de la classe Exemple. Par conséquent, la réponse est C.
Dans la programmation objet, en JAVA, le rôle du constructeur d'une classe est de :
Le rôle du constructeur d'une classe en programmation orientée objet avec Java est de créer un objet en mémoire de la JVM et d'initialiser les attributs de cet objet. En d'autres termes, le constructeur est une méthode spéciale qui est appelée lors de la création d'une instance d'une classe. Il est utilisé pour effectuer les tâches d'initialisation nécessaires sur les données membres de l'objet, telles que l'affectation de valeurs initiales à des variables d'instance ou l'initialisation de connexions à des bases de données ou à d'autres ressources externes.
Ainsi, la réponse est 1 : "créer un objet en mémoire de la JVM et d'initialiser les attributs".
Ce code est correct:
ArrayList<String> tab = new ArrayList<String>();
tab.array[0] = "LAFONT";
tab.array[1] = "DUPONT";
tab.size = 2;
Non, ce code n'est pas correct.
L'erreur dans ce code est que l'objet ArrayList ne possède pas d'attribut "array" ou "size". Pour ajouter des éléments à un objet ArrayList, il est nécessaire d'utiliser la méthode "add" de l'objet.
Voici un exemple de code corrigé :
ArrayList<String> tab = new ArrayList<String>();
tab.add("LAFONT");
tab.add("DUPONT");
int size = tab.size();
Soit le code suivant :
String str1[] = new StringTokenizer("AA;BB;CC",";");
for(String s: str1)
System.out.println(s);
Ce code :
ne se compile pas correctement
Soit la classe suivante :
public class A{
private ArrayList<String> liste;
public A(){
ArrayList<String> liste = new ArrayList<String>();
}
public void add(String s){liste.add(s);}
}
Un programme réalise le code suivant:
A exemple = new A();
exemple.add("LAFONT");
Le code du programme s'exécute normalement
Dans le constructeur de la classe A
, une nouvelle instance de ArrayList
est créée et stockée dans une variable locale nommée liste
, mais cette variable locale est différente de l'attribut de la classe liste
qui n'est jamais initialisé. Ainsi, lorsque la méthode add
est appelée sur l'instance exemple
, l'attribut liste
est null
et cela provoque une exception de type NullPointerException
.
Soit le code suivant :
int tab_int[] = new int[10];
[...]
for(int i=0; i< A ;i++)
Terminal.ecrireIntln( B );
Ce code affiche tous les éléments du tableau tab_int. A et B peuvent être remplacés par :
A -> tab_int.length B -> tab_int[i]
Soit le code JAVA suivant :
public class Bidon {
public int valeur;
public Bidon(int v){valeur=v;}
}
public class Exemple{
public static void main(String[] args){
Bidon obj = new Bidon(12);
traitement(obj,100)
System.out.println(obj.valeur);
}
static void traitement(Bidon bid,int v){
bid.valeur=v;
}
L'exécutiuon de ce programme est :
L'exécution de ce programme affiche la valeur 100.
Lors de l'appel à la méthode traitement(obj,100)
, l'objet obj
est passé par référence, ce qui signifie que la méthode peut modifier l'objet en question. Dans la méthode traitement
, la valeur de l'attribut valeur
de l'objet bid
est modifiée à 100. Ainsi, lorsque l'on affiche la valeur de l'attribut valeur
de obj
après l'appel de la méthode traitement
, on obtient 100.
Soit le code JAVA suivant :
public class C {
private int attribut;
public C(){attribut=10;}
public static void main(String[] args)
{
C objet = new C();
objet.attribut = Integer.parseInt(args[0]); // LIGNE 7
}
}
Le code de la LIGNE 7 est correct
Le code de la LIGNE 7 n'est pas correct. L'attribut attribut
de la classe C
est privé, donc il ne peut pas être directement accessible en dehors de la classe. Pour y accéder, il faudrait créer une méthode publique qui permet de modifier sa valeur, par exemple :
public void setAttribut(int valeur) {
attribut = valeur;
}
et l'appeler depuis la méthode main
:
C objet = new C();
objet.setAttribut(Integer.parseInt(args[0]));
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
Pas encore de commentaires.