你的位置:首页 > 软件开发 > Java > Java学习 (十五)、面向对象编程(七)接口,面向接口编程

Java学习 (十五)、面向对象编程(七)接口,面向接口编程

发布时间:2016-03-20 21:00:17
接口接口语法:interface 接口名{ //静态常量、抽象方法} 接口的特点:① 接口中只能存放静态常量和抽象方法;② Java接口是对功能的扩展;③ 通过实现接口,java类 ...

接口

接口语法

interface 接口名{

           //静态常量、抽象方法

}

 

接口的特点

①   接口中只能存放静态常量和抽象方法;

②   Java接口是对功能的扩展;

③   通过实现接口,java类可以实现多实现;

④   一个人可以同时继承(extends)一个父类并且实现(implements)多个接口;

⑤   接口与接口之间可以通过使用extends来产生继承关系;

 

接口与抽象类的区别

①   抽象类和具体实现类之间是一种继承关系,也就是说如果采用抽象类的方式,则父类和子类在概念上应该是相同的;

②   接口和实现类在概念上不要求相同,接口只是抽取互相之间没有关系的类的共同特征,而不去关注类之间的关系,它可以使没有层次关系的类具有相同的行为;

③   抽象类是对一组具有相同属性和行为的逻辑上有关系的事物的一种抽象,而接口则是对一组具有相同属性和行为的逻辑上不相关的事物的一种抽象;

④   对于接口和抽象类的选择,反映出设计人员看待问题的不同角度。抽象类用于一组相关的事物,表示的事“is-a”的关系;而接口用于一组不相关的事物,表示的是“like-a”的关系;

不使用接口code

 1 public class InterfaceDemo{ 2   public static void main(String []args){ 3     Person p=new Person(); 4     Child child=new Child(); 5     Dog dog=new Dog(); 6     p.feed(child); 7     p.feed(dog); 8   } 9 }10 11 class Person{12   public void feed(Child child){13     child.eat();14   }15   public void feed(Dog dog){16     dog.eat();17   }18   19 }20 21 interface IAbility{22   //接口中只能放共有的静态常量和抽象方法23   //接口中会默认public static final24   /*public static final*/ /*int number=1;*/25   26   //方法中会默认加上public abstract27   /*public abstract*/ /*void show();*/28 }29 30 class Child{31   public void eat(){32     System.out.println("吃米饭");33   }34 }35 36 class Dog{37   public void eat(){38     System.out.println("啃骨头");39   }40 }

原标题:Java学习 (十五)、面向对象编程(七)接口,面向接口编程

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。