ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

抽象类与接口

2021-11-04 19:02:03  阅读:111  来源: 互联网

标签:子类 abstract 接口 抽象 抽象类 方法


嘛是抽象类?

被abstract关键字修饰的方法只有声明,没有方法体,这玩意儿叫抽象方法

被abstract关键字修饰的类就是抽象类

1.如果一个类含有抽象方法,那么它一定是抽象类

2.抽象类中的方法实现交给子类来完成

抽象类的格式

权限修饰符 abstract 返回值类型 方法名(参数列表);

抽象类的特点

有点长你忍一下

1.可以修饰方法或者类

2.被修饰的类叫抽象类,被修饰的方法叫抽象方法

3.抽象类中可以没有抽象方法

4.如果类中有抽象方法,那么该类必须定义为一个抽象类

5.子类要是继承了抽象类,要么还是一个抽象类,要么就把所有父类抽象方法重写

6.多用于多态中

7.抽象类不可以被实例化

入门代码。。。有空写

抽象类的注意事项

1.抽象方法要求子类继承后必须重写

2.private:被私有化后,子类无法重写,与abstract相违背

3.static:静态优先于对象存在,存在加载顺序问题

4.final:被final修饰后,无法重写,与abstract相违背

嘛是接口?

接口在java中是一种抽象类型,接口中的内容是抽象形成的需要实现的功能,接口更像是一种规则和一套标准

接口的格式

interface  接口名{代码...}

接口的特点

1.通过interface关键字来定义接口

2.通过implements让子类来实现接口

3.接口中的方法全部都是抽象方法(JAVA8)

4.可以把接口理解成一个特殊的抽象类(但接口不是类!!!)

5.类描述的是一类事物的属性和方法,接口则是包含实现类要实现的方法

6.接口突破了java单继承的局限性

7.接口和类之间可以多实现,接口与接口之间可以多继承

8.接口是对外暴露的规则,是一套开发规范

9.接口提高了程序的功能拓展,降低了耦合性

10.接口里是没有构造方法的,如果一个类没有明确指定它的父类,那么它默认继承顶级父类Object,调用的super()是Object的无参构造

11.接口里没有成员变量,都是常量。所以,你定义一个变量没有写修饰符时,默认会加上:public static final

12.接口里的方法,默认都是抽象的,方法上会默认拼接public abstract。例如:public abstract void save();

代码暂略。。。

抽象类与接口的区别

1.抽象类是一个特殊的类,抽象类中可以包含没有方法体的方法(抽象方法)

2.接口可以理解成一个特殊的抽象类,接口里的都是抽象方法,没有普通方法

3.接口会为方法自动拼接public abstract,还会为变量自动拼接public final static

4.抽象类可以有成员变量成员常量 接口只能有静态常量

5.抽象类可以有构造方法–用来给子类创建对象,接口中没有构造方法

6.抽象类和接口都不能实例化(创建对象)

7.接口可继承接口,并可多继承接口,但类只能单继承

8.抽象方法只能声明,不能实现,接口是设计的结果 ,抽象类是重构的结果

标签:子类,abstract,接口,抽象,抽象类,方法
来源: https://blog.csdn.net/CZY2106/article/details/121146521

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有