java

接口,抽象

2018-12-03  本文已影响4人  _narcissus
public abstract class  Calculate {
    double num1;
    double num2;
    public abstract void add(double num1,double num2);
    public abstract void sub(double num1,double num2);
    public abstract void mul(double num1,double num2);
    public abstract void div(double num1,double num2);
    public abstract void mod(double num1,double num2);
}
public  class Method extends Calculate{
    public void add(double num1,double num2) {
        System.out.println(num1+num2);
    }
    public void sub(double num1,double num2){
        System.out.println(num1-num2);
    }
    public void mul(double num1,double num2){
        System.out.println(num1*num2);
    }
    public void div(double num1,double num2){
        System.out.println(num1/num2);
    }
    public void mod(double num1,double num2){
        System.out.println(num1%num2);
    }
}

抽象类不能实例化为对象,但是被继承后就好说话了,继承后的类就和普通的类一样了,可以实例化。然后调用这些方法

import java.util.Scanner;
public class Cal {
    public static void main(String[] args) {
        Method method = new Method();
        double num1=0,num2=0;
        int choose=1;
        for(;;) {
            try {
                Scanner scanner = new Scanner(System.in);
                System.out.println("输入第一个数值");
                num1 = scanner.nextDouble();
                System.out.println("输入第二个数值");
                num2 = scanner.nextDouble();
                System.out.println("1.+ 2.- 3.* 4./ 5%");
                choose = scanner.nextInt();
            } catch (Exception e) {
                System.out.println("输入不正确");
            }
            switch (choose) {
                case 1:
                    method.add(num1, num2);
                    break;
                case 2:
                    method.sub(num1, num2);
                    break;
                case 3:
                    method.mul(num1, num2);
                    break;
                case 4:
                    method.div(num1, num2);
                    break;
                case 5:
                    method.mod(num1, num2);
                    break;
            }
        }
}
}

接口?差不多。区别就这么点

interface Calculate {方法名}
public class Method implements Calculate{方法体}

不过,抽象类里还可以有自己的方法体,而接口就纯接口,抽象类只能被一个继承,而接口可以被很多去实现。

快下课了,回去了!

上一篇 下一篇

猜你喜欢

热点阅读