您的位置:首页 > 职场人生

黑马程序员:接口问题

2011-11-04 14:52 183 查看
---------------------- android培训java培训、期待与您交流! ----------------------

 

        Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。 接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。   

 

       Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。   Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public,静态的和final属性。   接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。

 

        下面是我学习接口所写的一点小程序:

/*

接口是对外暴露的规则。

接口是程序功能的扩展。

接口可以用来多实现。

类与接口间是实现关系,而且类可以继承一个类的同时实现多个接口。

接口与接口间可以有继承关系。

降低耦合性

*/

/*

class Student{

 

}

abstract class Student{

 abstract void study();

 void sleep(){

  System.out.println("sleep");

 }

 //abstract//void smoke(){//在这里抽象抽烟说名只要是学生就必须抽烟,强迫性的

  //System.out.println("smoke");//学生本身并不抽烟,是特有的

 }

}

//还可以定义喝酒的接口,有后期子类实现

interface Smoking{//定义抽烟的接口,做为扩展接口,需要就实现它

 void smoke();//抽烟方法

}

//--------------------继承是,你是我其中的一种(属于),接口是功能的扩展(像)

class ZhangSan extends Student implement Smoking{//zhangsan抽烟但不知道具体抽什么烟。那么抽烟的方法就必须抽象

 void study(){}

 public void smoke(){

 System.out.println("smoke");

 }

}

class LiSi extends Student{

}

*/

//基本功能定义在类中,扩展功能定义在接口中

class Sporter{

 void play();//运动员的具体项目不确定。play是运动员必备的方法

}

interface Study{//学习不是运动员必备的方法

}

class WangWu extends Sport implements Study{}

class InterfaceTest{

 public static void main(String[] args){

  System.out.println("");

 }

}

----------------------android培训java培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息