java用构造方法定义book类_JAVA基础学习之路(三)类定义及构造方法
類的定義及使用
一,類的定義
classBook {//定義一個類intprice;//定義一個屬性intnum;public static int getMonney(int price, intnum) {//定義一個方法return price*num;
}
}public classtest2 {public static voidmain(String args[]) {
Book monney= newBook();//聲明并實例化對象
monney.price= 10;
monney.num= 20;
System.out.println(monney.getMonney(10,20));
}
}
二,內(nèi)存分析
類是引用類型,創(chuàng)建時會申請分配內(nèi)存
堆內(nèi)存:保存每一個對象的屬性,需要new關(guān)鍵字才可以創(chuàng)建
棧內(nèi)存:保存一塊堆內(nèi)存的地址
1,當使用Book bk = new Book();時,內(nèi)存情況如下:
為屬性賦值之后,如下
2.分步創(chuàng)建對象,實例化
Book monney = null;
monney = new Book();
任何情況下,只要看見了關(guān)鍵詞new,就表示開辟堆內(nèi)存,只要開辟了堆內(nèi)存,一旦堆內(nèi)存空間開辟了,里面就會有對象中所有屬性,所有屬性的內(nèi)容為默認值
實例化對象其實就是開辟堆內(nèi)存
三,類的封裝
classBook {private intprice;private intnum;public void setPrice(intp) {
price=p;
}public void setNum(intn) {
num=n;
}public intgetPrice() {returnprice;
}public intgetNum() {returnnum;
}public int getMonney(int price, intnum) {return price*num;
}
}public classtest2 {public static voidmain(String args[]) {
Book monney= newBook();
monney.setPrice(10);
monney.setNum(20);
System.out.println(monney.getMonney(10,20));
}
}
在構(gòu)造類的過程中,屬性盡量都寫成private,這樣,屬性就對外部隱藏。通過setter方法設(shè)置屬性值,getter方法獲取屬性值。外部若要訪問類的屬性,只有通過setter方法。
四,構(gòu)造方法
類名? 對象名 = new 類名();
1.類名:類的名字,決定對象的屬性和方法
2.對象名:對象的唯一標識
3.new:開辟堆內(nèi)存,沒有new則無法實例化對象
4.類名()? 實際上是調(diào)用了一個和類名相同的方法,即構(gòu)造方法
我們從來沒有定義過構(gòu)造方法,之所以可以使用,是java在編譯時,為我們添加了一個名稱與類相同,無參數(shù),無返回值的方法
構(gòu)造方法只在實例化新對象時使用一次,就是在book = new Book();時使用,而普通的方法實例化對象后可以多次調(diào)用
構(gòu)造方法的作用:在 類對象實例化的時候設(shè)置屬性的初始化內(nèi)容,即構(gòu)造方法是為屬性初始化準備的,一個類中至少保留一個構(gòu)造方法
總結(jié)
以上是生活随笔為你收集整理的java用构造方法定义book类_JAVA基础学习之路(三)类定义及构造方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 新建异常并处理java_java –
 - 下一篇: mysql 锁语句_mysql-笔记 事