Java学习笔记之接口和抽象类
2014-10-17 21:23
225 查看
前言
最近遇到了接口和抽象类的使用,搞不明白二者的区别,所以特地研究了下,笔记如下。
接口和抽象类的定义
抽象类:包含抽象方法的一个类叫做“抽象类”。接口:可将其想象成为一个“纯”抽象类,它只声明类方法,不提供方法的实现细节。
接口和抽象类的特点
抽象类:1.如果一个类A继承了抽象类B,并且没有实现抽线类B中的抽象方法,则类A也会是抽象的。
2.如果一个类A继承了抽象类B,并且程序员想生成类A的一个对象,则必须事项抽象类B中的所有抽象方法。
3.抽象类中可以包含有非抽象方法。
4.可以有数据成员。
5.抽象类和抽象类中的抽象方法都要加上abstract关键字。
接口:
1.接口包含了基本数据类型的数据成员,它们都默认为static和final。
2.接口只是提供一种形式,不提供具体的实现细节。
3.创建一个接口,要使用interface关键字,而不是class。
4.假如类A要实现接口B,要使用implements关键字,而不是用extend关键字。
5.接口可用于多重继承(一个类可实现多个接口)。
6.可以用关键字extend继承接口A,从而得到一个新的接口B,也就是说一个接口可以继承另一个接口。
7.接口中的字段因为默认是static和final,所以它们不是接口的一部分,而是保存于那个接口的static存储区域中。
8.接口中的方法默认为public属性。当实现一个接口时,来自接口的方法必须定义为public,否则它们会默认为“友好的”,会限制我们在继承过程中对一个方法的访问。
接口与抽象类的本质区别
抽象类是对事物本质的抽象(这点跟普通类一样),而接口是对方法(行为)的抽象。
接口与抽象类的例子
抽象类:abstract class A { int i; //可以含有数据字段 public abstract void fun1(); //抽象方法,只含有声明,没有实现 public void fun2() { return "A"; } }
接口:
interface A { int SIZE = 10; // static&&final void fun(); // 访问权限自动获得为public。 }
相关文章推荐
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- 【Java 学习笔记】 抽象类和接口
- 黑马程序员-Java学习笔记之抽象类,接口,多态和内部类
- JAVA学习笔记-抽象类,接口和内部类
- java 从零开始,学习笔记之基础入门<抽象类_接口_多态>(十三)
- Java学习笔记---抽象类和接口
- java学习笔记(3)基本概念之抽象类和接口
- Bravo!Java学习笔记(1)---接口、抽象类、对象克隆、内部类
- Java学习笔记2016.2.18 多态、抽象类、接口
- Java学习笔记1:详细解析Java中抽象类和接口的区别
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- 学习《详细解析Java中抽象类和接口的区别》笔记
- Java学习笔记(六):面向对象、接口和抽象类
- java学习笔记(五)----super用法,final用法,抽象类,接口
- Java学习笔记_11_抽象类和接口
- 学习笔记_毕向东 Java_继承_抽象类_接口_多态 2014.7.13
- Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口
- java学习笔记(类、抽象类和接口)
- java学习笔记-抽象类abstract与接口interface
- Java之学习笔记(22)------------抽象类和接口