Java接口以及接口简单实现计算器

1.接口:就是全局常量与抽象方法的集合,在Java中使用interface关键字定义。

子类如果要想使用接口,那么就必须使用implements关键字来实现接口,同时,一个子类可以实现多个接口, 【可以使用接口来实现多继承的概念】对于接口的子类(不是抽象类)必须覆写接口中的全部抽象方法。随后可以 利用子类的向上转型通过实例化子类来得到接口的实例化对象

2.使用原则:
a.接口无法直接创建实例化对象,需要通过具体子类向上转型为其实例化。
b.接口命名一般以I开头,子类使用implements关键字实现接口,一般以impl结尾,表示此类是一个接口的子类。
c.接口允许多实现(多继承),一个子类可以同时使用implements实现若干个接口
d.接口中只允许public权限!即便不写也是public.接口中abstract、final、static均可以省略不写。(强制要求不写)
e.当子类既需要继承抽象类又需要实现接口时,先extends一个抽象类而后使用implements实现多个接口。
f.抽象类可以使用implements实现多个接口,接口不能继承抽象类,接口可以使用extends继承多个父接口。
抽象类与接口的区别
在这里插入图片描述
以下为一个应用接口的实例:
利用接口做参数,写个计算器,能完成加减乘除运算。
(1)定义一个接口Compute含有一个方法int computer(int n, int m)。
(2)设计四个类分别实现此接口,完成加减乘除运算。
(3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two),此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。
(4)设计一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算。

interface Compute
{
    public abstract int computer(int n, int m) ;
}
class jia implements Compute
{
    public  int computer(int n, int m)
    {
        return n + m;
    }
}

class jie implements Compute
{
    public  int computer(int n, int m)
    {
        return n - m;
    }
}

class chen implements Compute
{
    public  int computer(int n, int m)
    {
        return n * m;
    }
}

class chu implements Compute
{
    public  int computer(int n, int m)
    {
        if(m != 0)
        {
        return n / m;
        }
        else
            System.out.println("除数不能为0!");
            return  0;
    }
}

class UseCompute
{
    public void usecom(Compute com, int one, int two)
    {
  System.out.println(com.computer(one,two));
	}
}
public class Text
{ 
	public static void main(String[] args)
	 { 
		UseCompute useCompute=new UseCompute();
		useCompute.usecom(new jia(), 10, 20);
		useCompute.usecom(new jie(), 10, 20);
		useCompute.usecom(new chen(), 10, 20);
		useCompute.usecom(new chu(), 10, 20);
		useCompute.usecom(new chu(), 10, 0);
	} 
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/huanglu12138/article/details/88342296