java接口与抽象类的区别

1.语义不同

  抽象类是对事物本身的抽象,接口为其他类提供通用方法,不考虑语义层次的继承与实现关系。

  示例:

       抽象类:门  

	 	public abstract Door{}
   

       子   类:木门,铁门  

               public class WoodDoor extends Door{}            
               public class IronDoor extends Door{}
 

 

       接   口:铃铛

		public interface Bell {}
     

 

       子   类:可以响铃的木门,实现响铃方法

		public class WoodDoor extends Door,implements Bell{}
   

 

2.继承性

   一个类可以继承多个接口,却不能继承多个抽象类。

 

3.字段属性

   接口中定义的字段,系统默认final,static,没有get(),set()属性;

   抽象类中中定义的字段与一般类中定义的字段无差别。

 

 

你可能感兴趣的:(java接口与抽象类的区别)