更新時間:2020-06-17 14:57:41 來源:動力節點 瀏覽3109次
面向對象基礎
1、定義一個點類Point,包含2個成員變量x、y分別表示x和y坐標,2個構造器Point()和Point(int x0,y0),以及一個movePoint(int dx,int dy)方法實現點的位置移動,創建兩個Point對象p1、p2,分別調用movePoint方法后,打印p1和p2的坐標。
代碼演示
public?class?Point?{
//成員變量
private?double?x;
private?double?y;
//每一個類都帶有一個默認的無參構造函數
public?Point()?{
super();?//表示父類的構造函數
/*
?*? 1.構造函數與類名完全一致
?*? 2.不能帶有返回值類型
?*? 3.不需要return語句
?*?
?*? 作用:創建對象
?*/
}
public?Point(int?x0,int?y0)?{
this.x=x0;
this.y=y0;
}
public?void?movePoint(int?dx,int?dy)?{
this.x+=dx;
this.y+=dy;
}
public?static?void?main(String[]?args)?{
Point?p1?=?new?Point?(2,4);
p1.movePoint(2,?4);
System.out.println("p1坐標為:"+p1.x+","+p1.y);
Point?p2?=?new?Point?(5,8);
p2.movePoint(50,?120);
System.out.println("p2坐標為:"+p2.x+","+p2.y);
}
2、定義一個矩形類Rectangle:
2.1定義三個方法:getArea()求面積、getPer()求周長,showAll()分別在控制臺輸出長、寬、面積、周長。
2.2有2個屬性:長length、寬width
2.3通過構造方法Rectangle(int width,int length),分別給兩個屬性賦值
2.4創建一個Rectangle對象,并輸出相關信息
代碼演示
public?class?Rectangle?{
int?length;
int?width;
/*
?*? static
?*? 1.修飾變量:直接通過類名來訪問
?*? 2.修飾方法:也可以通過類名來訪問
?*? 3.修飾代碼塊:加載類的時候優先執行,并只執行一次
?*?
?*? 非靜態方法可以訪問靜態方法和變量
?*? 靜態方法不可以訪問非靜態方法和變量
?*/
public?int?getArea()?{
int?area=length*width;
return?area;
}
public?int?getPer()?{
return?(length+width)*2;
}
public?void?showAll()?{
int?l=this.length;
int?w=this.width;
int?a=length*width;
int?p=(length+width)*2;
System.out.println("長:"+l+","+"寬:"+w+","+"面積:"+a+","+"周長:"+p);
}
public?Rectangle?(int?length,int?width)?{
this.length=length;
this.width=width;
}
public?static?void?main(String[]?args)?{
Rectangle?r=new?Rectangle(5,5);
r.showAll();
}
設計一個類Student,該類包括姓名、學號和成績。設計一個方法,按照成績從高到低的順序輸出姓名、學號和成績信息。
代碼演示
public?class?Student?{
String?name;
int?empno;
int?grade;
public?Student(String?name,int?empno,int?grade)?{
this.name=name;
this.empno=empno;
this.grade=grade;
}
public?static?void?sort(Student[]?s)?{
for(int?i=1;i<s.length;i++)?{
for(int?j=0;j<s.length-i;j++)?{
if(s[j].grade?<?s[j+1].grade)?{
Student?t;
t=s[j];
s[j]=s[j+1];
s[j+1]=t;
}
}
}
}
public?static?void?main(String[]?args)?{
Student?s1=new?Student("小明",?1,?80);
Student?s2=new?Student("小紅",?2,?90);
Student?s3=new?Student("小王",?3,?99);
Student[]?arr?=?{s1,s2,s3};
sort(arr);
for(Student?is:arr)?{
System.out.println(is.name+"\t"+is.empno+"\t"+is.grade);
}
}
以上就是動力節點java培訓機構的小編針對“Java面向對象練習題及答案”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習