- 相關(guān)推薦
Java類的定義和聲明
Java編程語言是面向?qū)ο蟮,處理的最小的完整單元為?duì)象。而現(xiàn)實(shí)生活中具有共同特性的對(duì)象的抽象就稱之為類。類由類聲明和類體構(gòu)成,類體又由變量和方法構(gòu)成。下面一起來了解一下Java類的定義和聲明!
Java類的定義和聲明 篇1
1、類聲明的基本格式
訪問說明符class類名extends超類名implements接口名
其中:
(1)訪問說明符為public或者缺省。public用來聲明該類為有類,可以被別的對(duì)象訪問。聲明為公有的類存儲(chǔ)的文件名為類名。
(2)類名:用戶自定義的標(biāo)識(shí)符,用來標(biāo)志這個(gè)類的引用。
(3)超類名:是指已經(jīng)存在的類,可以是用戶已經(jīng)定義的,也可以是系統(tǒng)類。
(4)接口名:即后面講到的'接口。
例如:
public class HelloApplet extends Applet
訪問說明符為public,類名HelloApplet,擴(kuò)展類為JDK包自帶的java.applet.Applet類。由于public的存在,所以文件名必須存為HelloApplet.java,同類名保持一致。
2、類體
類體包括成員變量和方法。
(1)成員變量:
指類的一些屬性定義,標(biāo)志類的靜態(tài)特征,它的基本格式如下:
訪問說明符 數(shù)據(jù)類型 變量名
其中:
訪問說明符有public、private和protected三種:
public:省略時(shí)默認(rèn)為公有類型,可以由外部對(duì)象進(jìn)行訪問。
private:私有類型,只允許在類內(nèi)部的方法中使用,若從外部訪問,必須通過構(gòu)造函數(shù)間接進(jìn)行。
protected:受保護(hù)類型,子類訪問受到限制。
數(shù)據(jù)類型包括基本類型以及用戶自定義的擴(kuò)展類型。
(2)方法:
昌類的操作定義,標(biāo)志類的動(dòng)態(tài)特征,它的基本格式如下:
訪問說明符 數(shù)據(jù)類型 方法名(數(shù)據(jù)類型1 變量名1,數(shù)據(jù)類型2 變量名2)
其中:
訪問說明符為public、private和protected,其使用方法與成員變量訪問說明符的使用方法一致。
數(shù)據(jù)類型:包括基本數(shù)據(jù)類型和用戶自定義的擴(kuò)展類型。
數(shù)據(jù)類型為參數(shù)。
3、創(chuàng)建類的實(shí)例
使用關(guān)鍵字new進(jìn)行創(chuàng)建,例如:
HelloApplet hp=new HelloApplet();
例1中,自定義類apple,訪問標(biāo)識(shí)符缺省,定義三個(gè)屬性:
long applecolor;//對(duì)應(yīng)蘋果的顏色
double appleweight;//蘋果的重量
boolean eatup;//是否吃完
一個(gè)方法為:
public boolean bite()//類方法{...}
公有類SetApplet中引用自定義類,首先創(chuàng)建類的實(shí)例:
apple a=new apple();
其次賦初值:
a.appleweight=0.5;//實(shí)例變量賦值
最后調(diào)用它的方法:
System.out.println(a.bite());//調(diào)用實(shí)例方法
Java類的定義和聲明 篇2
定義和聲明的定義區(qū)別
1、一種是需要建立存儲(chǔ)空間的。例如:int a 在聲明的時(shí)候就已經(jīng)建立了存儲(chǔ)空間。
2、另一種是不需要建立存儲(chǔ)空間的。 例如:extern int a 其中變量a是在別的文件中定義的。
聲明是向編譯器介紹名字--標(biāo)識(shí)符。它告訴編譯器“這個(gè)函數(shù)或變量在某處可找到,它的模樣象什么”。
而定義是說:“在這里建立變量”或“在這里建立函數(shù)”。它為名字分配存儲(chǔ)空間。無論定義的是函數(shù)還是變量,編譯器都要為它們?cè)诙x點(diǎn)分配存儲(chǔ)空間。
對(duì)于變量,編譯器確定變量的大小,然后在內(nèi)存中開辟空間來保存其數(shù)據(jù),對(duì)于函數(shù),編譯器會(huì)生成代碼,這些代碼最終也要占用一定的內(nèi)存。
總之就是:把建立空間的聲明成為“定義”,把不需要建立存儲(chǔ)空間的成為“聲明”。
基本類型變量的聲明和定義(初始化)是同時(shí)產(chǎn)生的;而對(duì)于對(duì)象來說,聲明和定義是分開的。
下面小編給大家舉個(gè)例子說明一下。
例如:類A
如果A a;就是一個(gè)聲明,告訴編譯器a是A類的一個(gè)對(duì)象變量,但是不進(jìn)行初始化;
如果以后a=new A();這就是初始化,分配了空間。
需要注意的是我們聲明的最終目的`是為了提前使用,即在定義之前使用,如果不需要提前使用就沒有單獨(dú)聲明的必要,變量是如此,函數(shù)也是如此,所以聲明不會(huì)分配存儲(chǔ)空間,只有定義時(shí)才會(huì)分配存儲(chǔ)空間。
用static來聲明一個(gè)變量的作用有二:
(1)對(duì)于局部變量用static聲明,則是為該變量分配的空間在整個(gè)程序的執(zhí)行期內(nèi)都始終存在。
(2)外部變量用static來聲明,則該變量的作用只限于本文件模塊。
定義和聲明的具體區(qū)別
所謂定義就是(編譯器)創(chuàng)建一個(gè)對(duì)象,為這個(gè)對(duì)象分配一塊內(nèi)存,并給它取上一個(gè)名字,這個(gè)名字就是就是我們經(jīng)常所說的變量名或?qū)ο竺?/p>
聲明有2重含義:
(1) 告訴編譯器,這個(gè)名字已經(jīng)匹配到一塊內(nèi)存上,下面的代碼用到變量或者對(duì)象是在別的地方定義的。聲明可以出現(xiàn)多次。
(2) 告訴編譯器,這個(gè)名字已經(jīng)被預(yù)定了,別的地方再也不能用它來作為變量名或?qū)ο竺?/p>
定義和聲明最重要區(qū)別
定義創(chuàng)建對(duì)象并為這個(gè)對(duì)象分配了內(nèi)存,聲明沒有分配內(nèi)存。
【Java類的定義和聲明】相關(guān)文章:
Java中定義與聲明的區(qū)別05-21
關(guān)于Java類的定義以及執(zhí)行順序?qū)W習(xí)教程10-17
理解java和python類變量10-06
java語言類的嵌入08-01
java類加載器09-12
Java類的基本構(gòu)成08-28
什么是java集合類05-29
Java自定義范型的應(yīng)用技巧10-16
java類筆試題目07-21
java類文件是什么10-31