抽象类要被子类继承,接口要被类实现
抽象类可以有构造器、接口不能有构造
抽象类:抽象方法可以有public、protected和default这些修饰符、接口:只能是public
抽象类:可以有成员变量;接口:只能声明常量
用接口来计算出加减乘除的功能:
接口
package gameplay01;
//定义一个计算器接口
public interface calculator {
//接口的类都是抽象的
//接口方法 固定 类方法 长相
public double calc(int num1,int num2);
}
1.加法
package gameplay01;
//加法实现类
public class add implements calculator{
@Override//重写
public double calc(int num1, int num2) {
return num1+num2;
}
}
2.减法
package gameplay01;
//减法实现类
public class subtraction implements calculator{
@Override//重写
public double calc(int num1, int num2) {
return num1-num2;
}
}
3.乘法
package gameplay01;
//乘法实现类
public class multiplication implements calculator{
@Override//重写
public double calc(int num1, int num2) {
return num1*num2;
}
}
4.除法
package gameplay01;
//除法实现类
public class division implements calculator{
@Override//重写
public double calc(int num1, int num2) {
if (num2!=0){
return num1*1.0/num2;
}else{
return 0;
}
}
}
main主函数
package gameplay01;
import java.util.Scanner;
public class T01 {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.println("请输入第一个操作数");
int num1 = input.nextInt();
System.out.println("请输入第二个操作数");
int num2 = input.nextInt();
//加、减、乘、除
//接口数组保存所有实现类的对象
calculator[] cals = {new add(),new subtraction(),
new multiplication(),new division()};
//for增强
for(calculator cal:cals){
double result = cal.calc(num1,num2);
System.out.println(result);
}
}
}