java interface 介绍

来源:互联网 发布:矩阵分析引论视频 编辑:程序博客网 时间:2024/06/02 07:01

interface类似于class,只不过interface里的所有方法都是abstract抽象的,当一个非抽象的class实现(implements)一个接口interface时,必须实现接口中所有方法(因为都是abstract抽象的),否则该class必须声明为abstract.

------------

sample1:

/*interface usage*/public class InterfaceSample {public static void main(String[] args) {new Ball().basketball();new Ball().football();}}interface Sport{void basketball(); //default public abstractvoid football();}class Ball implements Sport{@Overridepublic void basketball() {System.out.println("hello, basketball!");}@Overridepublic void football() {System.out.println("hello, football!");}}

output:

hello, basketball!
hello, football!

-------------------------

sample2: 不同类通过接口实现通讯:

public class InterfaceSample2 {public static void main(String[] args) {GoodPeople p = new GoodPeople();GetInfo info = new GetInfo();info.setPeople(p);System.out.println(info.getName()+ " is "+info.getDoing());}}interface People{String name();String doing();}class GoodPeople implements People{@Overridepublic String name() {return "dylan";}@Overridepublic String doing() {return "donating";}}class GetInfo{People p;void setPeople(People p){this.p = p;}String getName(){return p.name();}String getDoing(){return p.doing();}}

output:

dylan is donating


注意点:

1、一个接口可以继承(extends)自另一个接口
2、不允许类的多继承,但允许接口的多继承(同时继承多个接口)
3、类可以实现多个接口
4、类在继承另一个类的同时,可以实现多个接口,先extends后implements

-------------------------

dylan  presents.



0 0
原创粉丝点击