美文网首页java
接口,抽象

接口,抽象

作者: _narcissus | 来源:发表于2018-12-03 21:56 被阅读4次
    • interface(接口)和 abstract(抽象)都是为了做一件事,那就是将方法与方法体(实现)分离。有什么实际意义,分工合作吧。
    • 但是又有自己的特点,不然就叫一个名得了。
    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{方法体}
    

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

    快下课了,回去了!

    相关文章

      网友评论

        本文标题:接口,抽象

        本文链接:https://www.haomeiwen.com/subject/fggucqtx.html