接口 interface

来源:互联网 发布:人工智能的英语怎么写 编辑:程序博客网 时间:2024/06/03 20:19

一、为什么需要接口?

需求一直改变,所以用接口 ,体现了可维护可扩展的特点

二、接口的定义

一组规范的集合(包含属性规范、行为规范),用的最多的是行为规范

public interface 接口名{};

使用关键字interface

注意:1.接口中的方法都是抽象方法 即使没有写public或者abstract 编译的时候也会帮你补全这两个字

2.接口中的属性都是public static final的 都是静态常量

三、实现接口的方法 implements

1. java这门语言是单继承, 为了模拟多重继承,可以使用接口,一个类可以实现多个接口来模拟多重继承

举例: JavaTeacher  既可以实现Teacher这个接口 又可以实现程序员这个接口

2. 接口可以扩展接口吗?

可以. 接口可以扩展 多个接口
3. 接口可以实现接口吗???不可以.  因为 实现接口 要实现接口的所有抽象方法, 实现了抽象方法以后 该类就带有已经实现的方法了,就不能再定义成接口了...

接口代码:

public class Stone implements FalyStyle {@Overridepublic void fly() {System.out.println("用手仍石头");}@Overridepublic void go() {// TODO Auto-generated method stub}}
public class Test {public static void main(String[] args) {  Stone s1=new Stone();  s1.fly();}/* String s = "nba"; public void test(String s) {  System.out.println("s:"+s);//显示传入的局部变量s的值  System.out.println("this.s:"+this.s);//显示本类的成员属性s的值  this.s=s;                    //将本类的属性赋值为局部变量s的值  System.out.println("s:"+s);//显示传入的局部变量s的值  System.out.println("s:"+s);  System.out.println("this.s:"+this.s);//显示本类的属性s,此时本类的属性s已被赋值为cba } public static void main(String[] args) {  new Test().test("cba");  }*/}


 

public class Flyplay  implements FalyStyle{@Overridepublic void fly() {// TODO Auto-generated method stubSystem.out.println("飞机在天上飞");}@Overridepublic void go() {// TODO Auto-generated method stub}  }

 

public interface FalyStyle { void fly(); abstract void go();}

 

public class Backball implements FalyStyle,Atcat {@Overridepublic void fly() {// TODO Auto-generated method stubSystem.out.println("球在天上飞");}@Overridepublic void play() {// TODO Auto-generated method stubSystem.out.println("用手拍");}@Overridepublic void go() {// TODO Auto-generated method stub}}
public interface Atcat {public void play();}



 

 

原创粉丝点击