黑马程序员 接口的一些必须了解的知识
2012-12-16 14:57
357 查看
---------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
1 接口不是类
在java中定义接口需要使用interface关键字
publicinterface 接口名 {}
2 与抽象类有点像(特殊的抽象类)
可以把接口看成是特殊的抽象类。这种抽象类只有抽象方法,没有其他东西!
3 接口定义的语法格式
interface 接口名 {
抽象方法1
…..
抽象方法N
}
4 接口中的方法都是抽象的
接口中有抽象方法,但没有实例属性,没有static方法,咱们也不说没有什么了,就是可以有什么:抽象方法!
5 接口中没有属性
接口中没有属性,可以有 public static final的属性,我们应该称之为常量。(需要马上赋值)
接口中的方法:public abstract的!
6 接口不是用来继承的,而是用来现实的
接口不是类!
所以接口不能做为其他类的父类,但类可以去实现接口。
7 接口实现的语法格式
public interface MyInter {
publicabstract void fun();
}
class MyClass implements MyInter {
publicvoid fun() {}
}
定义了一个 MyInter接口,又定义一个类,名为MyClass,MyClass实现了MyInter接口。
实现接口的关键不是extends,而是implements。
1 对象的访问接口
一个接口,其实就是一组方法定义的集合。
当一个类实现了某个接口后,那么这个类的对象就具有了这个接口中所有的方法。
对使用者来说,这时就可以调用接口中的方法了。
2 继承可以让子类拥有父类的接口
继承可以让子类拥有父类的接口,你可以向子类对象施加所有父类的操作!可以调用子类对象的所有父类中的方法。
你也可以去调用某个接口实现类中接口定义的方法。
3 单继承的弊端
我们知道,java中是没有多继承的,但多继承也有他的好处。
Java为了添加多继承的好处,去除多继承的坏处:使用单继承,但添加了接口的概念。
用接口来弥补单继承的缺陷。
4 给类添加附加功能
接口可以是一个类的附加功能,附加功能可以是多个。即一个类可以实现多个接口。
5 3G手机是手机的子类,而且实现了MP3、USB等接口
把继承和接口分开,其中继承是一个类别主线路,而实现的接口是附加功能!
l 接口只能有什么:
Ø 公有抽象方法;
Ø 公有的、静态的、最终的属性,它需要马上赋值;
Ø 嵌套类,还没学!
Ø 接口中的方法可以不写 public以及abstract,默认就是!
Ø 接口中的方法默认是public和abstract,可以不写这些关键字,但不能写与其冲突的关键字;
Ø 接口中的属性默认是public static final的,不打也是!注意,这种属性需要马上赋值!
Ø 不能写与public static final冲突的关键字来修饰属性。
1 一个类只能继承一个父类,但可以实现多个接口
一个类只有一个父类,但可以实现多个接口。
2 接口不能有实例对象,但可以有接口的引用
接口不能有实例对象,这一点与抽象类相同。
但可以有接口的引用,这一点也与抽象类相同。
我们也可以先把接口理解为特殊的抽象类。
3 可以把3G手机当成MP3来用(转型为接口类型)
接口可以用来创建引用!
但接口不能创建实例对象。
可能使用接口的引用,指向这个接口的实现类的实体对象!
A a = newB();//其中如果A是一个接口,那么说明B实现了A接口。
抽象类与接口比较
抽象类:
l 可以有属性,可以有方法,什么都能有,一般就是多了抽象方法而已
l 它是半成品,已经做了一半了。
接口:
l 只能有抽象方法,它不是半成品,可以说它还没有开始做呢。
l 它只是对类的要求,只是一个规范!
l 接口比抽象类还要抽象!
是使用抽象类还是使用接口:
如果你的抽象类中不需要已经完成的方法,也不需要属性,这不就是可以改成接口了么?所以能写接口,建议写接口。
如果你想写一个接口,但发现需要在接口中写一些已经完成的方法,或者是可以给这个接口加一些属性,那么还是用抽象类吧!
Java API中存在一些类,最上方是一些接口,而这些接口的实现类都是抽象类,然后这些抽象类还有子类。
接口的概述
1 接口不是类
在java中定义接口需要使用interface关键字
publicinterface 接口名 {}
2 与抽象类有点像(特殊的抽象类)
可以把接口看成是特殊的抽象类。这种抽象类只有抽象方法,没有其他东西!
3 接口定义的语法格式
interface 接口名 {
抽象方法1
…..
抽象方法N
}
4 接口中的方法都是抽象的
接口中有抽象方法,但没有实例属性,没有static方法,咱们也不说没有什么了,就是可以有什么:抽象方法!
5 接口中没有属性
接口中没有属性,可以有 public static final的属性,我们应该称之为常量。(需要马上赋值)
接口中的方法:public abstract的!
6 接口不是用来继承的,而是用来现实的
接口不是类!
所以接口不能做为其他类的父类,但类可以去实现接口。
7 接口实现的语法格式
public interface MyInter {
publicabstract void fun();
}
class MyClass implements MyInter {
publicvoid fun() {}
}
定义了一个 MyInter接口,又定义一个类,名为MyClass,MyClass实现了MyInter接口。
实现接口的关键不是extends,而是implements。
接口的理解
1 对象的访问接口
一个接口,其实就是一组方法定义的集合。
当一个类实现了某个接口后,那么这个类的对象就具有了这个接口中所有的方法。
对使用者来说,这时就可以调用接口中的方法了。
2 继承可以让子类拥有父类的接口
继承可以让子类拥有父类的接口,你可以向子类对象施加所有父类的操作!可以调用子类对象的所有父类中的方法。
你也可以去调用某个接口实现类中接口定义的方法。
3 单继承的弊端
我们知道,java中是没有多继承的,但多继承也有他的好处。
Java为了添加多继承的好处,去除多继承的坏处:使用单继承,但添加了接口的概念。
用接口来弥补单继承的缺陷。
4 给类添加附加功能
接口可以是一个类的附加功能,附加功能可以是多个。即一个类可以实现多个接口。
5 3G手机是手机的子类,而且实现了MP3、USB等接口
把继承和接口分开,其中继承是一个类别主线路,而实现的接口是附加功能!
接口的特性
l 接口与抽象类相似;l 接口只能有什么:
Ø 公有抽象方法;
Ø 公有的、静态的、最终的属性,它需要马上赋值;
Ø 嵌套类,还没学!
Ø 接口中的方法可以不写 public以及abstract,默认就是!
Ø 接口中的方法默认是public和abstract,可以不写这些关键字,但不能写与其冲突的关键字;
Ø 接口中的属性默认是public static final的,不打也是!注意,这种属性需要马上赋值!
Ø 不能写与public static final冲突的关键字来修饰属性。
1 一个类只能继承一个父类,但可以实现多个接口
一个类只有一个父类,但可以实现多个接口。
interface MyInter1 { } interface MyInter2 { } class MyClass1 { } class A extends MyClass1 implements MyInter1, MyInter2 { } |
2 接口不能有实例对象,但可以有接口的引用
接口不能有实例对象,这一点与抽象类相同。
但可以有接口的引用,这一点也与抽象类相同。
我们也可以先把接口理解为特殊的抽象类。
3 可以把3G手机当成MP3来用(转型为接口类型)
public class Test { public static void main(String[] args) { IPhone ip = new IPhone(); Phone p = ip; Mp3 mp3 = ip; Usb usb = ip; p.phone(); mp3.mp3(); usb.usb(); } } interface Mp3 { public abstract void mp3(); } interface Usb { public abstract void usb(); } class Phone { public void phone() { System.out.println("phone"); } } class IPhone extends Phone implements Mp3, Usb { public void mp3() { System.out.println("mp3"); } public void usb() { System.out.println("usb"); } } |
接口可以用来创建引用!
但接口不能创建实例对象。
可能使用接口的引用,指向这个接口的实现类的实体对象!
A a = newB();//其中如果A是一个接口,那么说明B实现了A接口。
抽象类与接口比较
抽象类:
l 可以有属性,可以有方法,什么都能有,一般就是多了抽象方法而已
l 它是半成品,已经做了一半了。
接口:
l 只能有抽象方法,它不是半成品,可以说它还没有开始做呢。
l 它只是对类的要求,只是一个规范!
l 接口比抽象类还要抽象!
是使用抽象类还是使用接口:
如果你的抽象类中不需要已经完成的方法,也不需要属性,这不就是可以改成接口了么?所以能写接口,建议写接口。
如果你想写一个接口,但发现需要在接口中写一些已经完成的方法,或者是可以给这个接口加一些属性,那么还是用抽象类吧!
Java API中存在一些类,最上方是一些接口,而这些接口的实现类都是抽象类,然后这些抽象类还有子类。
相关文章推荐
- 嵌入式必须了解的一些知识
- 学习HTML必须了解的一些基础知识
- 夏季你必须了解的防晒知识
- 学习IOS编程必须要知道的一些知识
- 必须了解的网络运维知识
- 转 设计师也需要了解的一些前端知识
- 黑马程序员 一些个人总结的小基础知识点
- JSP入门必须了解的知识详解
- 黑马程序员--C#中字符串的一些知识小结
- 黑马程序员--关于一些零碎的知识
- Java集合框架的知识总结(1) 说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析。 1、综述 所有集合类
- 大型网络渗透必须了解的服务器知识
- 黑马程序员——面向对象的一些小概念知识总结
- 黑马程序员:java中集合的一些小知识
- 一些没有时间深入了解的知识
- java接口的一些小知识
- 学好Java必须掌握的一些必备知识
- 与oracle相关的一些要了解的os知识
- 黑马程序员_类的一些边缘知识