码迷,mamicode.com
首页 > 其他好文 > 详细

抽象类与接口的区别

时间:2020-02-14 12:55:01      阅读:47      评论:0      收藏:0      [点我收藏+]

标签:stat   子类   class   fun   prot   方式   情况   软件   静态代码块   

抽象类与接口的区别

抽象类

抽象方法:只有声明,没有具体的实现。即abstruact关键字修饰。

1 abstract void function();

抽象类与普通类的区别
1.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),默认情况下默认为 public。
2.抽象类不能用来创建对象。(如模板模式中通过 Game = new Football()的方式创建具体的对象。)
3.如果一个类继承了一个抽象类,那么子类必须实现抽象类中声明的抽象方法。(如果不实现的话,那么子类也必须定义为抽象类。)

接口

接口,英文名称Interface(Java中接口的关键字)。软件工程中,接口泛指供别人调用的方法或者函数。Java中,它是对行为(常见为声明的方法)的抽象。
接口中的变量和方法,变量智能是静态常量,且默认是public;方法也只能是public abstract方法,其中的方法都不能有具体的实现,都是抽象方法。因此可以理解为接口是比抽象类更抽象的东西。注:在接口中一般是不定义变量的。

1 public interface InterfaceName{}

抽象类与接口的区别

从以下几个方面来理解抽象类和接口的区别
1.成员:抽象类变量可以是各种类型的;接口的属性成员变量只能是静态常量值(public static final修饰)。
2.方法:抽象类可以具体的方法;接口只能必须有抽象方法。
3.构造:(由方法可得)抽象类可以有构造器;接口不能有构造器。
4.继承:一个类只能继承一个抽象类,但可以实现多个方法。
5.代码块:抽象类可以根据需要有代码块(当有具体方法的时候,如静态代码块);接口没有任何代码块,只有方法。

抽象类与接口的区别

标签:stat   子类   class   fun   prot   方式   情况   软件   静态代码块   

原文地址:https://www.cnblogs.com/baishouzu/p/12306833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!