DarkSiDE
12-02-2006, 21:39
-- Avendo una classe fatta in questo modo:
public class StaticTest {
public void testMethod() {
System.out.println("Hello world!");
}
public static void main(String[] args) {
testMethod();
}
}
il compilatore genera un errore. Perché? Qual è il codice corretto?
-- Avendo una classe fatta in questo modo:
public class ExceptionTest {
public void testMethod() {
System.out.println("Hello world!");
}
public void testException() {
String s=null;
for (int i=0; i<100; i++) {
testMethod();
}
String p=(String)s.subs t ring(0).getBytes();
}
l'esecuzione genererà una NullPointerException. Una volta sistemata
la NullPointerException, verrà generata una ClassCastException sulla
stessa riga. Scrivere il codice che pone riparo ad entrambe le
eccezioni.
-- Avendo una classe fatta in questo modo:
public class OverrideTest {
public OverrideTest() {
/ / nothing interesting here...
}
public void OverrideTest() {
System.out.println("I'm a test");
}
public boolean OverrideTest() {
System.out.println("I'm another test");
return true;
}
}
il compilatore genera un errore. Perché è sbagliato l'overload fatto in
questo modo? Perché è sconsigliabile usare questi nomi? Proporre
un'implementa zione corretta.
grazie :cry:
public class StaticTest {
public void testMethod() {
System.out.println("Hello world!");
}
public static void main(String[] args) {
testMethod();
}
}
il compilatore genera un errore. Perché? Qual è il codice corretto?
-- Avendo una classe fatta in questo modo:
public class ExceptionTest {
public void testMethod() {
System.out.println("Hello world!");
}
public void testException() {
String s=null;
for (int i=0; i<100; i++) {
testMethod();
}
String p=(String)s.subs t ring(0).getBytes();
}
l'esecuzione genererà una NullPointerException. Una volta sistemata
la NullPointerException, verrà generata una ClassCastException sulla
stessa riga. Scrivere il codice che pone riparo ad entrambe le
eccezioni.
-- Avendo una classe fatta in questo modo:
public class OverrideTest {
public OverrideTest() {
/ / nothing interesting here...
}
public void OverrideTest() {
System.out.println("I'm a test");
}
public boolean OverrideTest() {
System.out.println("I'm another test");
return true;
}
}
il compilatore genera un errore. Perché è sbagliato l'overload fatto in
questo modo? Perché è sconsigliabile usare questi nomi? Proporre
un'implementa zione corretta.
grazie :cry: