Font size
WorksheetsQuiz-Java
Total questions: 14
Worksheet time: 18mins
Java est un langage:
Compilé
Interprété
Compilé et interprété
Ni compilé Ni interprété
public class A{
public A(){
System.out.println("Je suis un A");
}
}
public class B extends A{
public B(){
//super();
System.out.println("Je suis un B");
}
}
public class C extends B{
public C(){
//super();
System.out.println("Je suis un C");
}
public static void main(String args[]){
C c = new C();
}
}
Que va afficher la classe C?
Je suis un A
Je suis un B
Je suis un C
Je suis un C
Je suis un B
Je suis un A
Je suis un C
Je suis un A
Observez les classes suivantes:
public class Person{
public void talk(){ System.out.print("I am a Person "); }
}
public class Student extends Person {
public void talk(){ System.out.print("I am a Student "); }
}
Quel sera le résultat du morceau de code qui suit:
public class Test{
public static void main(String args[]){
Person p = new Student();
p.talk();
}
}
I am a Person
I am a Student
I am a Person I am a Student
a) I am a Student I am a Person
Pour les classes A et B définies comme suit:
class A {
public int x;
public A() {x=5; }
}
class B extends A {
public B() {x++;}
public B(int i){this(); x=x+i; }
public B(String s){super(); x- -; }
}
qu’affichera le code suivant?
B b1=new B(); B b2 =new B(2003); B b3= new B(”Bonjour”);
System.out.println(b1.x + ” et ” + b2.x + ” et encore ” + b3.x );
6 et 2009 et encore 4
1 et 2004 et encore 4
1 et 2004 et encore 2003
autre chose
Pour les classes A et B définies comme suit:
class A {
public int f() {return(5); }
public static int g() {return (6);}
}
class B extends A {
public int f() {return(2); }
public static int g() {return (4); }
}
qu’affichera le code suivant?
B b=new B();
A a =b;
System.out.println(a.f()*a.g());
30
20
8
12
Soit la hiérarchie de classes suivante.
Qu'est-ce-que le programme suivant va afficher à la console ? (L'appel à getClass().getName() renvoie le nom de la classe dont l'objet est une instance sous la forme d'un String)
Mammifère[] m = {new Chien(), new Baleine()};
Animal[] a = m;
a[0] = new Perroquet();
System.out.println (a[0].getClass().getName());
Perroquet
Animal
Mammifère
Une erreur de compilation apparaît
Que va afficher le programme suivant à la console ?
public class Computer {
public int add (int a, int b) {
return a + b;
}
}
public class SuperComputer extends Computer {
public int add (int a, int b) {
return 0;
}
}
public class Test
{
public static void main (String[] args)
{
Computer pc = new SuperComputer();
int sum = pc.add (9, 5);
System.out.println (sum);
14
0
Une erreur de compilation apparaît
Une erreur d'exécution apparaît
Pour la classe B définie comme suit :
class B {
public B(){System.out.print(”Ciao”);};
public B(int i) {this(); System.out.println(”Bonjour ”+i);};
}
qu’affichera l’instruction suivante?
B monB=new B(2003);
erreur de compilation
erreur d’exécution
CiaoBonjour 2003
Bonjour 2003
Quel mot clé permet d'obtenir une référence sur l'objet courant ?
Current
Object
Store
This
Un fichier Salut.java contient le texte suivant
class Salut {
static public void main(String args[]) {
System.out.println("Bonjour");
}
};
Lesquelles des lignes commandes suivantes sont incorrectes?
Un attribut privé (private) d'une classe A peut être directement utilisé par une méthode d'une autre classe B qui appartient au même package que A.
Oui
Non
Un attribut protégé (protected) d'une classe A peut être directement utilisé par une méthode d'une autre classe B qui appartient au même package que A.
Oui
Non
Soit le code JAVA suivant :
public class Livre
{
// Le titre du livre
private String titre;
// Le constructeur
public Livre(String titre){
setTitre(titre);}
// Setteur
public void setTitre(String titre){
this.titre=titre; }
}
L'utilisation de setTitre dans le constructeur :
déclenche une erreur de compilation
déclenche une erreur d'exécution
est correct
Pour les classes A et D d´efinies comme suit :
class A { class D extends A {
public static int f(int x) {return(x+5) ; } ; public static int f(int x) {return(x+4) ; } ;
public int g(int x) {return (3) ; } public int g( int x) {return (x+8) ; }
} }
qu’affichera le code suivant ?
D d=new D() ; A a =d ;
System.out.println(a.f(2)*a.g(3)) ;
18
21
66
77
