黑马程序员:接口问题

来源:互联网 发布:电力营销 知乎 编辑:程序博客网 时间:2024/05/11 00:42

---------------------- 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培训、期待与您交流! ----------------------