今天直接从一个简单题目开始!!!
利用接口做参数,写个计算器,能完成加减乘除运算。
(1)定义一个接口Compute含有一个方法int computer(int n, int m)。
(2)设计四个类分别实现此接口,完成加减乘除运算。
(3)设计一个类UseComputer,类中含有方法:public void useCom(Compute com, int one, int two),此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。
(4)设计一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算。
1、接口定义的格式
[public] interface 接口名{
//方法 注意:接口中的抽象方法默认会自动加上public abstract修饰程序员无需自己手写!!
//常量 接口中常量必须要给初始值,常量命名规范建议字母全部大写,多个单词用下划线连接。
}
2、接口的使用步骤
1、定义一个抽象方法
* 1、接口不能直接使用,必须要有实现类(子类)来实现该接口 * 继承格式:public class 实现类名称 extends 父类{...} * 接口使用格式:public class 实现类名称 implement 接口名称{...}
public interface Computer { int computer(int n,int m); }
2、创建实现类的对象,进行使用
设计四个类分别实现此接口,完成加减乘除运算。
public class Add implements Computer{ @Override public int computer(int n, int m) { return n+m; } }
public class Jian implements Computer{ @Override public int computer(int n, int m) { return n-m; } }
public class Chen implements Computer{ @Override public int computer(int n, int m) { return n*m; } }
public class Chu implements Computer { @Override public int computer(int n, int m) { return n/m; } }
3、写一个测试类
public class Test { public static void main(String[] args) { // 创建对象 Add add = new Add(); // 传参 UserComputer userComputer = new UserComputer(); userComputer.useCom(add,10,10); Jian jian = new Jian(); UserComputer userComputer1=new UserComputer(); userComputer.useCom(jian,20,10); Chen chen = new Chen(); UserComputer userComputer2=new UserComputer(); userComputer.useCom(chen,30,2); Chu chu = new Chu(); UserComputer userComputer3 = new UserComputer(); userComputer.useCom(chu,99,3); } }
最后输出结果如下:
3、总结
-
子类必须重写实现全部接口中所有的抽象方法。
-
若父接口中某个抽象方法未重写实现,这个子类也必须定义成抽象类。
-
3、接口的意义:接口体现的是一种规范,接口对实现类是一种强制性的约束,要么全部完成接口申明的功能,要么自己也定义成抽象类。