更新時(shí)間:2020-06-15 13:55:57 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2728次
1.說出下面程序的執(zhí)行結(jié)果:
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并實(shí)
classB類繼承了抽象類classA并實(shí)現(xiàn)了接口interfaceA,在classB中覆寫了抽象類A的g方法,還定義了接口A的方法,最終在main函數(shù)中,向上實(shí)例化一個(gè)抽象類A的實(shí)例a,一個(gè)接口A的實(shí)例b,通過a,b來調(diào)用他們各自的方法,則輸出一個(gè)good(來自a.g())和一個(gè)(空格)good(來自b.f)。
2.編程題:
利用接口做參數(shù),寫個(gè)計(jì)算器,能完成加減乘除運(yùn)算。
(1)定義一個(gè)接口Compute含有一個(gè)方法int computer(int n,int m)。
(2)設(shè)計(jì)四個(gè)類分別實(shí)現(xiàn)此接口,完成加減乘除運(yùn)算。
(3)設(shè)計(jì)一個(gè)類UseCompute,類中含有方法:public void useCom(Compute com,int one,int two),此方法能夠用傳遞過來的對象調(diào)用computer方法完成運(yùn)算,并輸出運(yùn)算的結(jié)果。
(4)設(shè)計(jì)一個(gè)主類Test,調(diào)用UseCompute中的方法useCom來完成加減乘除運(yùn)算。
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實(shí)現(xiàn)接口C,該類中包含三個(gè)成員變量:底圓半徑radius、
圓柱體的高h(yuǎn)eight、顏色color。
(5)創(chuàng)建主類來測試類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);
????}
}
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“基礎(chǔ)學(xué)習(xí)教程:Java接口練習(xí)題”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743