你稍等一下,我把代碼測試通過后。給你貼出來

創(chuàng)新互聯(lián)專注于晉源企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。晉源網(wǎng)站建設(shè)公司,為晉源等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
您有以下幾處錯誤:
1,Trangle書寫錯誤 Trangle
public Trangle(double a,double b,double c) ===》public Trangele(double a,double b,double c)
(錯誤)public Trangle(double a,double b,double c)
{
sideA=a;sideB=b;sideC=c;
if(a+bca+cbb+ca)
{
boo=true;
}
2,siedB書寫錯誤
double p=(sideA+siedB+sideC)/2.0; ===double p=(sideA+sideB+sideC)/2.0;
(錯誤)public double getArea()
{if(boo)
{
double p=(sideA+siedB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
return area;
總結(jié):
在你整個的錯誤當(dāng)中主要是Trangle 雷明不統(tǒng)一造成的,已經(jīng)書寫馬虎。siedB
你需要理解有參構(gòu)造方法,需要和類名相同。已經(jīng)void沒有返回值,double 類型需要有返回值,而且return 的位置。以下是經(jīng)測試正確運(yùn)行的代碼:
類一:
package shiyan1;
public class Trangle {
double sideA,sideB,sideC,area,length;
boolean boo;
public Trangle(double a,double b,double c)
{
sideA=a;sideB=b;sideC=c;
if(a+bca+cbb+ca)
{
boo=true;
}
}
public double getArea(){
if(boo){
double p=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
}
return area;
}
public void setABC(double a,double b,double c){
sideA=a;sideB=b;sideC=c;
if(a+bca+cbb+ca)
{
boo=true;
}
}
}
類二:
public class AreaAndLength
{
public void main(String args[])
{
double length,area;
Circle circle=null;
Trangle trangle;
Lader lader;
circle=new Circle(10);
trangle=new Trangle(3,4,5);
lader=new Lader(3,4,10);
length=circle.getLength();
}
}
public?class?Student?{
private?int?number;
private?String?name;
private?String?courseName;
private?int?score;
public?int?getNumber()?{
return?number;
}
public?void?setNumber(int?number)?{
this.number?=?number;
}
public?String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
public?String?getCourseName()?{
return?courseName;
}
public?void?setCourseName(String?courseName)?{
this.courseName?=?courseName;
}
public?int?getScore()?{
return?score;
}
public?void?setScore(int?score)?{
this.score?=?score;
}
@Override
public?String?toString()?{
return?"Student?[number="?+?number?+?",?name="?+?name?+?",?courseName="
+?courseName?+?",?score="?+?score?+?"]";
}
}
//封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過已定義的接口。面向?qū)ο笥嬎闶加谶@個基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護(hù)的接口訪問其他對象。封裝是一種信息隱藏技術(shù),在java中通過關(guān)鍵字private實(shí)現(xiàn)封裝。什么是封裝?封裝把對象的所有組成部分組合在一起,封裝定義程序如何引用對象的數(shù)據(jù),封裝實(shí)際上使用方法將類的數(shù)據(jù)隱藏起來,控制用戶對類的修改和訪問數(shù)據(jù)的程度。
student類的那些屬性就是數(shù)據(jù)了,get和set方法就是已定義的接口,任何一個個student對象的實(shí)例,要操作其屬性都只能通過get和set方法;
public?class?Test?{
public?static?void?main(String[]?args)?{
Student?s?=?new?Student();
s.setName("張三");
s.setCourseName("化學(xué)");
s.setNumber(1);
s.setScore(90);
// s.name?=?"張三";//錯誤的
System.out.println(s);
}
}
JAVA中常用的封裝方式有以下幾種:
1 、Boolean VS boolean
public final class Boolean extends Object??implementsSerializable,Comparable
Boolean 類將基本類型為boolean的值包裝在一個對象中。一個Boolean類型的對象只包含一個類型為boolean的字段。此外,此類還為boolean和String的相互轉(zhuǎn)換提供了許多方法,并提供了處理 boolean時非常有用的其他一些常量和方法。
2、 Byte VS byte
public final class Byte extends Number implements Comparable
Byte類將基本類型 byte的值包裝在一個對象中。一個Byte類型的對象只包含一個類型為 byte的字段。此外,該類還為 byte和 String的相互轉(zhuǎn)換提供了幾種方法,并提供了處理 byte時非常有用的其他一些常量和方法。
3、 Character VS char
public final class Character extends Object??implements Serializable, Comparable?Character類在對象中包裝一個基本類型char的值。? ?? ? Character類型的對象包含類型為char的單個字段。此外,該類提供了幾種方法,以確定字符的類別(小寫字母,數(shù)字,等等),并將字符從大寫轉(zhuǎn)換成小寫,反之亦然。
4 、Double VS double
public final class Double extends Number implements Comparable?Double類在對象中包裝了一個基本類型double的值。每個Double類型的對象都包含一個double類型的字段。此外,該類還提供了多個方法,可以將double轉(zhuǎn)換為String,將String轉(zhuǎn)換為double,還提供了其他一些處理double時有用的常量和方法。
5、 Float VS float
public final class Float extends Number implements Comparable??
Float類在對象中包裝了一個float基本類型的值。Float類型的對象包含一個float類型的字段。此外,此類提供了幾種方法,可在float類型和String類型之間互相轉(zhuǎn)換,并且還提供了處理float類型時非常有用的其他一些常量和方法。
這個是為了以后編程提供一個接口,你這個程序不寫上去也是對的,但是誰能保證你以后不會用到這個函數(shù)呢。
public class Book {
private String book_id;//教材編號
private String book_grade;//教材所屬年級
private String book_name;//教材名字
private Double book_price;//教材價格
public String getBook_id() {
return book_id;
}
public void setBook_id(String book_id) {
this.book_id = book_id;
}
public String getBook_grade() {
return book_grade;
}
public void setBook_grade(String book_grade) {
this.book_grade = book_grade;
}
public String getBook_name() {
return book_name;
}
public void setBook_name(String book_name) {
this.book_name = book_name;
}
public Double getBook_price() {
return book_price;
}
public void setBook_price(Double book_price) {
this.book_price = book_price;
}
public Book(String book_id, String book_grade, String book_name, Double book_price) {
super();
this.book_id = book_id;
this.book_grade = book_grade;
this.book_name = book_name;
this.book_price = book_price;
}
public Book() {
super();
}
@Override
public String toString() {
return "Book [book_id=" + book_id + ", book_grade=" + book_grade + ", book_name=" + book_name
+ ", book_price=" + book_price + "]";
}
}
封裝在java中有兩種表現(xiàn)
1.用類封裝一個事物的屬性和方法。
2.用方法來封裝一個固定的算法。
樓上所說的其實(shí)是封裝的程度不一樣,在面向?qū)ο蟮男g(shù)語中粒度來表示這個程度。
封裝其實(shí)是要看情況而定的,如果你這個類是描述人的,需要這個人完成一些基本的動作,如吃飯,走路,那么就不用把細(xì)胞也封裝進(jìn)來。但是如果“人”這個類,需要做醫(yī)學(xué)的研究用,那么就需要封裝細(xì)胞這個屬性了。
代碼打多了就自然能理解了,不是一個復(fù)雜的概念。呵呵。
網(wǎng)站題目:java四種封裝測試代碼,java類的封裝實(shí)驗(yàn)報告
當(dāng)前網(wǎng)址:http://chinadenli.net/article27/dseipjj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、微信小程序、品牌網(wǎng)站設(shè)計、商城網(wǎng)站、定制網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)