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接口练习题”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。