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);

}