专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 基础学习教程:Java接口练习题

基础学习教程:Java接口练习题

更新时间:2020-06-15 13:55:57 来源:动力节点 浏览2263次

1.说出下面程序的执行结果:

interface InterfaceA { 
String S = "good "; 
void f(); 
} 
 
abstract class ClassA { 
abstract void g(); 
} 
 
class ClassB extends ClassA implements InterfaceA { 
void g() { 
System.out.print(S); 
} 
 
public void f() { 
System.out.print(" "+ S); 
} 
} 
public class Test { 
public static void main(String[] args) { 
ClassA a = new ClassB(); 
InterfaceA b = new ClassB(); 
a.g(); 
b.f(); 
} 
} 
classB类继承了抽象类classA并实

classB类继承了抽象类classA并实现了接口interfaceA,在classB中覆写了抽象类A的g方法,还定义了接口A的方法,最终在main函数中,向上实例化一个抽象类A的实例a,一个接口A的实例b,通过a,b来调用他们各自的方法,则输出一个good(来自a.g())和一个(空格)good(来自b.f)。

2.编程题:

利用接口做参数,写个计算器,能完成加减乘除运算。

(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 ICompute{
    int computer(int n,int m);
}
class UseCompute{
    private int n;
    private int m;
    public void useCom(ICompute com,int one,int two){
        this.n=one;
        this.m=two;
        com.computer(n,m);
    }
}
class Add implements ICompute{
        private int n;
        private int m;
        private int result;
        public int computer(int n,int m){
            this.m=m;
            this.n=n;
            this.result=n+m;
            System.out.println("n+m is" + result);
            return result;
        }
}
class Minus implements ICompute{
    private int n;
    private int m;
    private int result;
    public int computer(int n,int m){
        this.m=m;
        this.n=n;
        this.result=n-m;
        System.out.println("n-m is" +result);
        return result;
    }
}
class Mul implements ICompute{
    private int n;
    private int m;
    private int result;
    public int computer(int n,int m){
        this.m=m;
        this.n=n;
        this.result=n*m;
        System.out.println("n*m is" +result);
        return result;
    }
}
class Div implements ICompute{
    private int n;
    private int m;
    private int result;
    public int computer(int n,int m){
        this.m=m;
        this.n=n;
        this.result=n/m;
        System.out.println("n/m is" +result);
        return result;
    }
}
public class Test {
    public static void main(String[] args) {
        UseCompute a=new UseCompute();
        a.useCom(new Add(),8,2);
        a.useCom(new Minus(),8,2);
        a.useCom(new Mul(),8,2);
        a.useCom(new Div(),8,2);
    }
}

3.按如下要求编写Java程序:

(1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。

(2)定义接口B,里面包含抽象方法void setColor(String c)。

(3)定义接口C,该接口继承了接口A和B,里面包含抽象方法void volume()。

(4)定义圆柱体类Cylinder实现接口C,该类中包含三个成员变量:底圆半径radius、

圆柱体的高height、颜色color。

(5)创建主类来测试类Cylinder。

interface A {
    double PI=3.14;
    void doubleArea();
}
interface B{
    void setColor(String c);
}
interface C extends A,B {
    void volume();
}
abstract class tmp implements C{
    public void doubleArea(){};
    public void setColor(String c){};
    public void volume(){};
}
class Cylinder extends tmp{
    private double PI=3.14;
    private double radius;
    private double height;
    private String color;
    public void doubleArea(double radius){
        this.radius=radius;
        System.out.println("radius is "+(radius*PI));
    }
    public void setColor(String c){
        this.color=c;		
        System.out.println("color is "+color);
    }
    public void volume(double radius,double height){
        this.height=height;
        this.radius=radius;
        System.out.println("volume is "+(radius*height*PI));	}
}
class Example{
    public static void main(String []args){
        Cylinder cyl1=new Cylinder();
        cyl1.doubleArea(3.00);
        cyl1.setColor("原谅绿");
        cyl1.volume(3.00,3.00);
    }
}

以上就是动力节点java培训机构的小编针对“基础学习教程:Java接口练习题”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>