更新時間:2020-06-15 13:55:57 來源:動力節點 瀏覽2752次
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接口練習題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習