抽象类:

1、抽象方法是只有方法签名,没有方法实现的方法。

2、抽象方法和抽象类必须使用abstract修饰符来定义,有抽象方法的类只能被定义成抽象类,抽象类里可以没有抽象方法。

3、*抽象方法不能有方法体*

4、抽象类不能被实例化,即使抽象类里不包含抽象方法,也不能创建实例。

5、抽象类的构造器不能用于创建实例,主要是用于被其子类调用。

接口:

1、接口里不能包含普通方法,接口里所有方法都是抽象方法。

2、一个接口可以有多个直接父接口,但接口只能继承接口,不能继承类。

3、由于接口定义的是一种规范,接口里不能包含构造器和初始化块定义。

4、接口里的属性只能是常量,接口里的方法只能是抽象方法。

5、接口里所有成员,包括常量、方法、内部类和枚举类都是public访问权限。

定义接口成员时,可以省略访问控制修饰符,如果指定访问控制修饰符,只能使用public访问控制修饰符。

对于接口里定义的常量属性,系统自动为这些属性增加static和final两个修饰符.

int MAX_SIZE = 50;

public static final int MAX_SIZE = 50;//这两行代码结构一样

接口中的方法总是使用public abstract来修饰的。

实现接口方法时,必须使用public访问控制修饰符,因为接口里的方法都是public的,而子类重写父类方法时

访问权限只能更大或者相等。

接口和抽象类相同点:

1、都不能实例化

2、接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法。

接口和抽象类不同点:

1、接口里只能包含抽象方法,抽象类则可以包含普通方法。

2、接口里不能定义静态方法,抽象类里可以定义静态方法。

3、接口里只能定义静态常量属性,不能定义普通属性,抽象类里都可以

4、接口里不包含构造器,抽象类里可以。

5、接口里不能包含初始化块,抽象类可以

6、接口多实现,抽象类单继承。

java1002java,疯狂java学习笔记1002---抽象类及接口相关推荐

  1. JAVA学习笔记之抽象类与接口2020-3-22

    抽象类 先了解一下抽象类的概念. 一个完整的方法,是有: 1.方法声明 2.方法体 public void show(){方法体; } 而如果只包含方法声明,没有方法体,那么就称之为:抽象方法.(ab ...

  2. 【Java 学习笔记】 抽象类和接口

    抽象类:类的设计应当保证父类包含子类的共同特征,有时为了方便会将父类设计的特别抽象以至于没有具体实例,称之为抽象类. -多重继承:需要从多个类中派生出一个子类,这种能力叫做多重继承. -单重继承:每个 ...

  3. 疯狂Java学习笔记(69)---------Lock

    疯狂Java学习笔记(69)---------Lock Java并发编程:Lock 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java ...

  4. Java学习笔记(四)——接口

    Java学习笔记(四)--接口 1.格式 2.接口的特点 3.接口举例 1.格式 接口:初期理解,可以认为是一个特殊的抽象类.当抽象类中的方法都是抽象的,那么该类 可以通过接口的方式来表示. clas ...

  5. 疯狂java学习笔记

    <疯狂java>我觉得是一本很好的java基础书,里面解释的比较通俗易懂,不繁琐,深入程度刚刚好,比较适合我现阶段来学习,巩固java基础知识,所以将所做的笔记整理如下: 1.数据类型分类 ...

  6. Java学习系列之抽象类和接口的区别和联系

    导读 本文首先分别介绍抽象类和接口的基础概念.特征和应用场景,然后介绍其区别和联系. 1 抽象类 1.1 定义抽象类 在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修 ...

  7. 疯狂java学习笔记之面向对象(二) - 成员变量与局部变量

    Java变量按其作用域可分为:成员变量和局部变量.注意:在Java中是没有全局变量这个概念的 一.成员变量: 成员变量是在类中定义的变量,具体可分为类变量与实例变量--有无static修饰 实例变量的 ...

  8. 疯狂java学习笔记之面向对象(三) - 方法所属性和值传递

    方法的所属性: 从语法的角度来看:方法必须定义在类中 方法要么属于类本身(static修饰),要么属于实例 -- 到底是属于类还是属于对象? 有无static修饰 调用方法时:必须有主调对象(主语,调 ...

  9. 疯狂Java学习笔记(72)-----------大话程序猿面试

    大话程序猿面试 10个我最喜欢问程序猿的面试问题 程序猿面试不全然指南 10个经典的C语言面试基础算法及代码 程序猿的10大成功面试技巧 程序猿选择公司的8个标准 编程开发 8个值得关注的PHP安全函 ...

最新文章

  1. Java进一步增强AI支持:Java-AI库概述
  2. 如何修改 Linkis 依赖的 Spark、Hive 版本?
  3. C++ opengl 深度缓冲区
  4. syslog(),openlog(),closelog()
  5. 解决sublime text 3使用Install Package时出现There are no packages available for installation问题
  6. java object 数组_Java用Object实现数组队列的泛思与理解
  7. Linux内存管理 -- /proc/{pid}/smaps讲解
  8. Kernel中bluetooth相关的config选项
  9. Java去掉字符串首尾的““
  10. 怎么录制视频声音,什么录音软件好用
  11. win10下CUDA版本卸载与更新
  12. vSphere中使用模板新建虚拟机
  13. Asp.Net 汉字转(拼音)
  14. C#图形教程画笔画刷等
  15. Lind.DDD.SSO单点登陆组件的使用(原创)
  16. python画泡泡图片例子
  17. linux 分区 物理卷 逻辑卷
  18. 【测绘程序设计】——坐标正算和反算
  19. Android富文本编辑器(二)
  20. python中pandas处理csv_python – 处理pandas的问题读取csv

热门文章

  1. Unix高级环境编程 学习小结(一)
  2. 【转】HashMap集合中key只能为引用数据类型,不能为基本类型
  3. spring boot / cloud (十七) 快速搭建注册中心和配置中心
  4. html实现3d视觉特效
  5. css 让div 的高度和屏幕的高度一样
  6. [Linux]centOS7-1-1503-x86_64下安装VM-TOOLS
  7. Android中实现Launcher功能之四---滑屏初探 scrollTo 以及 scrollBy方法使用说明
  8. Winsock编程宝典(转帖)
  9. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第8节 Math类_18_数学工具类Math...
  10. asp.net core MVC 过滤器之ExceptionFilter过滤器(一)