一、概念
接口语法
interface 接口名{
//公有静态常量、抽象方法
}
接口的特点
1.接口中只能存放静态常量和抽象方法
2.java接口是对功能的扩展
3.通过实现接口,java类可以实现多实现
一个类可以同时继承一个父类并且实现(implements)多个接口
4.接口与接口之间可以使用extends实现继承
接口与抽象类的区别
接口强调行为,继承是类似于亲属关系的
1.抽象类和具体实现之间是一个继承关系,也就是如果采用抽象类的方式,则父类和子类在概念上应该是相同的 is-a
2.接口和实现类在概念上不要求相同,接口只是抽取相互之间没有关系的类的共同特征,而不去关注类之间的关系,它可以使没有层次关系的类具有相同的行为
3.抽象类是对一组具有相同属性和行为的逻辑上有关系的事物的一种抽象,而接口则是对一组具有相同属性和行为的逻辑上不相关的事物的一种抽象
二、代码演示
//接口强调行为
interface xw{
abstract void eat();
abstract void drink();
}
class man implements xw{
public void eat() {
// TODO Auto-generated method stub
System.out.println("男人吃");
}
public void drink() {
// TODO Auto-generated method stub
System.out.println("男人喝");
}
}
class dog implements xw{
public void eat() {
// TODO Auto-generated method stub
System.out.println("狗吃");
}
public void drink() {
// TODO Auto-generated method stub
System.out.println("狗喝");
}
}
public class Test {
public static void main(String[] args) {
new man().drink(); //new 返回值是一个对象,所以可以直接调用
new dog().drink();
}
}
/*
男人喝
狗喝
*/