Java中继承与组合之间的区别

组合是一种设计技术,您的类可以将另一个类的实例作为您的类的字段。继承是一种机制,在该机制下,一个对象可以通过扩展类来获取父对象的属性和行为。

组合和继承都通过相关类提供代码可重用性。当您使用合成时,我们还可以获得继承的功能。以下是区别。 

序号继承组成
1
基本的 
继承是“是”关系
组成是“有”。关系 
2
代码重用 
在继承中,类类只能扩展一个接口,因此,您只能在一个类中重用代码 
我们可以在多个类中重用代码 
3
范围 
 继承在编译时提供其功能
在运行时轻松实现合成 
4
最后 
 我们不能重用最后一堂课的代码 
它甚至允许从最终类重用代码
5
方法 
它公开了父类的公共方法和受保护的方法 
它不会暴露。他们使用公共界面进行交互。

继承的例子

class Animal{
   String name="Orio";
}
class Dog extends Animal{
   String type="Dog";
   public static void main(String args[]){
      Dog p=new Dog();
      System.out.println("Name:"+p.name);
      System.out.println("Type:"+p.type);
   }
}

组成示例

public class Student {
}
public class College {
   private Student student;
   public College() {
      this.student = new Student();
   }
}