赞
踩
Java接口(Interface)是Java编程语言中的一个非常重要的概念。它是一个完全抽象的类,用于定义一组方法,这些方法由类来实现。接口定义了一个契约,即规定了类应该具备哪些方法,但并不实现这些方法的具体细节。
Java接口(Interface)(接口)是一种完全抽象的类型,它只能包含abstract method和常量变量(在Java中称为常量,因为它们的值在创建后不能被修改)。接口interface不能被用来建立object,它定义了一个合约,由实现该接口的class们来遵守。
对比之前的学习:
速记:把定义class时候的关键字换成interface 定义的就是接口
tips:连接接口关键字implements
示例 TimeService接口连接了两个class文件,两个class文件内部都具体定义了TimeService接口的timer method实际执行步骤,虽然步骤不尽然一样,但都有相同的输入输出格式。
package oop.Demo09; //定义一个名叫UserServiceImpl的class,它连接两个接口UserService和和TimeService //add delete update query timer都是接口中要求有的method 所以在这里override 接口里不能具体写method执行过程,但一定要有其他class可以执行这些method public class UserServiceImpl implements UserService,TimeService{ @Override public void add(String name) { } @Override public void delete(String name) { } @Override public void update(String name) { } @Override public void query(String name) { } @Override public void timer() { } }
//建立一个名叫test的class文件,它连接了TimeService这个interface //可以在test.java里面再次建一个执行timer method的具体程序(不用和其他class里面的timer method执行程序一样) //注:刚才已经在UserServiceImpl.java里面做了一个timer method的具体执行程序 package oop.Demo09; import static java.lang.Math.random; public class test implements TimeService{ //系统后台默认这里是public abstract,所以用户不用写public abstract //这一句其实就是public abstract void timer(); public void timer(){ double a = random(); } }
//TimeService 接口(interface) package oop.Demo09; import static java.lang.Math.PI; public interface TimeService { //系统后台默认这里是public abstract,所以用户不用写public abstract //这一句其实就是public abstract void timer(); public void timer(){ double a = PI; } }
//UserService 接口(interface) package oop.Demo09; public interface UserService { //接口中的所有定义其实都是抽象的public abstract //(看下面变灰色的关键字public abstract,不写也可以) public abstract void add(String name); void delete(String name); void update(String name); void query(String name); //int AGE =99;看下面变灰色的关键字public static final, //所以这里写成int AGE =99;也可以 //其实interface里的常量是默认public static final修饰的 public static final int AGE =99; }
作用:
1.interface接口就是约束,不具体执行
2.定义一些method,让连接interface的不同的class(们)去具体执行这个menthod,不同的class执行同样名字的method可能方法不同,但不关interface接口的事了
3.public abstract 是interface里面每个method自带的默认修饰符
4.public static final是interface里面自定义variable自带的默认修饰,比如int a =8;其实默默写了public static final在前面
5.interface 不能用来new object,因为它没有构造method
6.用class_name implements接口interface1,interface2…可以实现同时连多个接口
7.连接接口的class必须要实现接口中的method
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。