Başka bir sınıfı sınıfın içinde değişken olarak kullanmaya kompozisyon denir.
C++ da bir sınıf birden fazla sınftan miras alabilir ama Javada bunu yapamayız Javada bir sınıf yalnızca bir sınıftan türeyebilir.
Eğer sınıfın başına final yazarsak o sınıftan yeni bir sınıf türetemeyiz.Başkası bizim sınıfımızı kalıtım yoluyla kullanmaması için final kullanabiliriz.Ama kompozisyon ile bizim sınıfımızı başkası kullanabilir.
Nokta.java
package kodlar;
public class Nokta{
int x,y;
final public void yaz(){
System.out.println("[X="+x+":Y="+y+"]");}
public Nokta(){
x=0;
y=0;
}
public Nokta(int x, int y)
{
this.x=x;
this.y=y;
}
RenkliNokta.java
package kodlar;
public class RenkliNokta extends Nokta {
String renk;
public void yaz(){
System.out.println("[X="+x+"Y="+y+"]");
System.out.println("Renk="+renk);
}