Java中接口与抽象类的详解 以及区别

1、抽象类:
如果这个类里面的方法有一个是抽象的,那么这个类必须是抽象的。
抽象类中的方法,子类必须实现。
抽象类中可以有变量,可以有方法体的方法。
2、接口:
接口中方法都默认是public 的,不能有方法体。
接口中的变量都常量,都是public static final 的,必须先赋值。
如果一个类实现了此接口,必须覆盖接口中的所有抽象方法。

一、 抽象类

1、抽象类

包含一个抽象方法的类就是抽象类

2、抽象方法

声明而未被实现的方法,抽象方法必须使用abstract关键词字声明

public abstract class People {  //关键词abstract,声明该类为抽象类
    public int age;
    public void Num() {
    }
    public abstract Name(); //声明该方法为抽象方法
}  

3、抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法

4、抽象类不能被直接实例化,要通过其子类进行实例化

5、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。

6、子类中的抽象方法不能与父类的抽象方法同名。

7、abstract不能与final并列修饰同一个类。

8、abstract 不能与private、static、final或native并列修饰同一个方法。

二、接口

1、接口是java中最重要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法组成

接口中所有方法都是抽象方法;

接口当中所有的方法都是public类型

2、接口的格式

interface interfaceName{
    全局常量
    抽象方法
}

3、接口的实现也必须通过子类,使用关键字implements,而且接口是可以多实现的

class A implements Inter1,Inter2{ //Inter1和Inter2是接口
    ...
}

4、一个类可以同时继承抽象类和接口

class A extends Abs implements Inter1,Inter2{ //Abs是一个抽象类
    ...
}

5、一个接口不能继承抽象类,但可以通过extends关键字继承多个接口,实现接口的多继承

interface Inter implements Inter1,Inter2{ //Inter、Inter1、Inter2都为接口
    ...
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 一、抽象类 1、抽象类含义的概括: 当多个类出现相同功能时,但功能主体不同,这样可以向上抽取,抽取时只抽取功能定义...
    玉圣阅读 846评论 0 6
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 1,227评论 0 5
  • 你很清楚的知道什么时候用抽象类,什么时候用接口么?p.s. 多文字预警! 1 抽象类和接口简介 1.1 抽象类 ...
    Sharember阅读 2,379评论 9 55
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,142评论 0 62