? I Java , hänvisar gjutning till handlingen att behandla ett objekt eller metod för en viss typ som ett objekt med en förälder eller nedärvd klass . Detta sker eftersom Java implementerar polymorfism , eller förmågan hos en variabel har olika men liknande objekt som är associerade med den . Gjutning kan kräva en särskild operatör . Objektorientering och arv
Java är ett objektorienterat programmeringsspråk , vilket innebär att all verksamhet som definieras av objekt och klasser . För en operation för att lyckas på ett objekt , måste det vara relaterat till det objekt eller en specifik klass . Vissa klasser utöka funktionerna i andra klasser men behålla de grundläggande funktionerna i den inledande klassen , som är känd som arv . Basklass kallas förälder eller super klass , och utvidga klassen kallas barnet klassen .
Upcasting
Upcasting tilldelar ett underordnat objekt en variabel av överordnade objektet . Det ger barnet objektet ska placeras i en insamling med syskon objekt , så länge datainsamlingen tar den överordnade klassen som operatör . Därefter , om den variabeln anropar en metod som den överordnade klassen , kommer metoden att utföras , den överordnade metoden eller barnet metoden , om barnet har åsidosättas förälderns metod
Exempel : .
Shape sh = new Circle ( ) ;
sh.draw ( ) , . //om draw ( ) definieras av cirkeln , kommer detta köra Circle metod snarare än Shape
Downcasting
Downcasting tvingar en variabel av en förälder föremål som skall behandlas som ett underordnat objekt . Till nedslagen en variabel , placera den klass du vill kasta i parentes före variabeln att kasta .
Upcasting ett föremål kräver en nedslagen om du ändå vill använda ett barn metod eller variabel trots upcast . Till exempel :
Object o = new String ( "Hello " ) , //upcast
//String s1 = o.substring ( ) , //kommer inte att kompilera
String s2 = ( ( String ) o ) substring ( ) , . //kommer att kompilera och köra
Exempel
Java GUI Swing programmering , något föremål avsedda att interagera med användaren måste ha en ActionListener förknippas med det . Den ActionListener är ett gränssnitt med en enda metod , actionPerformed ( ) . En programmerare måste implementera gränssnittet i en egen klass , och avgöra vilken typ av åtgärd som ska utföras när actionPerformed ( ) anropas . Oavsett hur metoden implementeras , kan användaren lägga till lyssnaren till en fördefinierad GUI objekt genom att använda metoden addActionListener ( ) , som tar alla barn av ActionListener som en parameter .