Quello che dici sull'estensione delle classi è giusto, però il codice cha hai scritto contiene degli errori. A parte alcuni errori di sintassi, come qualche parentesi di troppo e un identificatore non dichiarato, c'è un errore non sintattico e non rilevabile a tempo di compilazione, ovvero l'istruzione:
Creando un nuovo oggetto Ext all'inerno del costruttore della classe Ext stessa dai vita ad una sequenza infinita di chiamate al costruttore di Ext, che solleva uno StackOverflowError. Il costruttore di una classe crea da sè un'istanza della classe, è proprio questo il compito del costruttore. Una versione corretta del tuo programma è la seguente:
codice:
import java.lang.*;
import java.util.Enumeration.*;
import java.util.*;
import java.text.*;
public class Ext extends Hashtable{
public Ext(){
put("one", new Integer(1));
put("two",new Integer(2));
put("three",new Integer(3));
Integer n = (Integer)get("two");
if (n != null)
System.out.println("two = " + n);
}
public static void main (String[] args){
Ext e= new Ext();
int l=e.size();
System.out.println("La size dell'hash e':"+l);
}
}
Ciao.