基礎總結筆記1
1.基本語法:
大小寫敏感,類名首字母大寫,多個的話每個單詞首字母大寫,例如MyFirstJavaClass
方法名:所有的方法名都應該以小寫字母開頭,若幹單詞,後面每個單詞首字母大寫,
源文件名必須和類名相同
主方法入口:所有的Java程序由public static void main(String []args)方法開始執行
2.繼承,存在一個類擁有所要的屬性方法,將新建的類繼承該類,利用繼承的方法,重寫已經存在的類和方法,,而不用重寫代碼,被繼承的類成為超類(superclass)
派生類為子類(subclass)
3.接口,對象相互通信的協議,接口只定義派生要到的方法,但是方法的實現取決於派生類
4.Java的八種基本類型:(按字節來分)
boolean 布爾型 1個字節 8bit(8位)
byte 字節類型 1個字節
char 字符類型 2個字節
short 短整型 2個字節
int 整型 4個字節
float 浮點型(單精度)4個字節
long 長整型 8個字節
double 雙精度類型 8個字節
Java中默認的整數類型是int,如果要定義為long ,則要在數值後加上L或者l
默認的浮點型是雙精度浮點,如果要定義float,則要在數值後面加上f或者F
一個字節等於8位,1個字節等於256個數。2^8
一個英文字母或者阿拉伯數字占一個字節
一個漢字占2個字節
5.對象是類的一個實例,有狀態和行為,例如狗是對象,狀態:顏色.名字,物種,行為有:叫,吃
軟件對象的狀態就是屬性,行為通過方法體現,方法操作對象內部狀態的改變,對象的相互調用也是通過方法來實現的
6. 一個類包含三種變量
- 局部變量:在方法、構造方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結束後,變量就會自動銷毀。
- 成員變量:成員變量是定義在類中,方法體之外的變量。這種變量在創建對象的時候實例化。成員變量可以被類中方法、構造方法和特定類的語句塊訪問。
- 類變量:類變量也聲明在類中,方法體之外,但必須聲明為static類型。
一個類可以擁有多個方法,barking()、hungry()和sleeping()都是Dog類的方法
7.構造方法,每個類都有構造方法,若沒有,Java會提供默認的,創建一個對象,至少調用一個構造方法,一個類可以有多個構造方法
public class Puppy{ public Puppy(){ } public Puppy(String name){ // 這個構造器僅有一個參數:name } } 8.創建對象,對象是根據類創建的,使用關鍵字new創建一個新的對象,需要三部,聲明,包括對象名稱對象類型,實例化,使用關鍵字new來創建一個對象 初始化,使用new關鍵字創建時,會調用構造方法初始化對象 9.訪問實例變量和方法 /* 實例化對象 */ ObjectReference = new Constructor(); /* 訪問類中的變量 */ ObjectReference.variableName; /* 訪問類中的方法 */ ObjectReference.MethodName();10.Java包.包主要用來對類和接口進行分類
11.
為什麽JAVA文件中只能含有一個Public類?
java 程序是從一個 public 類的 main 函數開始執行的,(其實是main線程),就像 C 程序 是從 main() 函數開始執行一樣。 只能有一個
public 類是為了給類裝載器提供方便。 一個 public 類只能定義在以它的類名為文件名的文件中。
每個編譯單元(文件)都只有一個 public 類。因為每個編譯單元都只能有一個公共接口,用 public 類來表現。該接口可以按照要求包含眾多的支持包訪問權限的類。如果有一個以上的 public 類,編譯器就會報錯。 並且 public類的名稱必須與文件名相同(嚴格區分大小寫)。 當然一個編譯單元內也可以沒有 public 類。
12.
成員變量和類變量的區別
由static修飾的變量稱為靜態變量,其實質上就是一個全局變量。如果某個內容是被所有對象所共享,那麽該內容就應該用靜態修飾;沒有被靜態修飾的內容,其實是屬於對象的特殊描述。
不同的對象的實例變量將被分配不同的內存空間, 如果類中的成員變量有類變量,那麽所有對象的這個類變量都分配給相同的一處內存,改變其中一個對象的這個類變量會影響其他對象的這個類變量,也就是說對象共享類變量。
成員變量和類變量的區別:
1、兩個變量的生命周期不同
成員變量隨著對象的創建而存在,隨著對象的回收而釋放。
靜態變量隨著類的加載而存在,隨著類的消失而消失。
2、調用方式不同
成員變量只能被對象調用。
靜態變量可以被對象調用,還可以被類名調用。
3、別名不同
成員變量也稱為實例變量。
靜態變量也稱為類變量。
4、數據存儲位置不同
成員變量存儲在堆內存的對象中,所以也叫對象的特有數據。
靜態變量數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。
static 關鍵字,是一個修飾符,用於修飾成員(成員變量和成員函數)。
特點:
1、想要實現對象中的共性數據的對象共享。可以將這個數據進行靜態修飾。
2、被靜態修飾的成員,可以直接被類名所調用。也就是說,靜態的成員多了一種調用方式。類名.靜態方式。
3、靜態隨著類的加載而加載。而且優先於對象存在。
弊端:
1、有些數據是對象特有的數據,是不可以被靜態修飾的。因為那樣的話,特有數據會變成對象的共享數據。這樣對事物的描述就出了問題。所以,在定義靜態時,必須要明確,這個數據是否是被對象所共享的。
2、靜態方法只能訪問靜態成員,不可以訪問非靜態成員。
因為靜態方法加載時,優先於對象存在,所以沒有辦法訪問對象中的成員。
3、靜態方法中不能使用this,super關鍵字。
因為this代表對象,而靜態在時,有可能沒有對象,所以this無法使用。
什麽時候定義靜態成員呢?或者說:定義成員時,到底需不需要被靜態修飾呢?
成員分兩種:
1、成員變量。(數據共享時靜態化)
該成員變量的數據是否是所有對象都一樣:
如果是,那麽該變量需要被靜態修飾,因為是共享的數據。
如果不是,那麽就說這是對象的特有數據,要存儲到對象中。
2、成員函數。(方法中沒有調用特有數據時就定義成靜態)
如果判斷成員函數是否需要被靜態修飾呢?
只要參考,該函數內是否訪問了對象中的特有數據:
如果有訪問特有數據,那方法不能被靜態修飾。
如果沒有訪問過特有數據,那麽這個方法需要被靜態修飾。
成員變量和靜態變量的區別:
1、成員變量所屬於對象。所以也稱為實例變量。
靜態變量所屬於類。所以也稱為類變量。
2、成員變量存在於堆內存中。
靜態變量存在於方法區中。
3、成員變量隨著對象創建而存在。隨著對象被回收而消失。
靜態變量隨著類的加載而存在。隨著類的消失而消失。
4、成員變量只能被對象所調用 。
靜態變量可以被對象調用,也可以被類名調用。
所以,成員變量可以稱為對象的特有數據,靜態變量稱為對象的共享數據。
13.Java基本數據類型,
變量就是申請內存來儲存值,當變量創建的時候,需要在內存中申請空間,內存管理系統根據變量的類型分配變量儲存空間,分配的空間只能儲存該類型數據
兩大數據類型,內置數據類型,引用數據類型
byte:
- byte 數據類型是8位、有符號的,以二進制補碼表示的整數;
- 最小值是 -128(-2^7);
- 最大值是 127(2^7-1);
- 默認值是 0;
- byte 類型用在大型數組中節約空間,主要代替整數,因為 byte 變量占用的空間只有 int 類型的四分之一;
- 例子:byte a = 100,byte b = -50。
short:
- short 數據類型是 16 位、有符號的以二進制補碼表示的整數
- 最小值是 -32768(-2^15);
- 最大值是 32767(2^15 - 1);
- Short 數據類型也可以像 byte 那樣節省空間。一個short變量是int型變量所占空間的二分之一;
- 默認值是 0;
- 例子:short s = 1000,short r = -20000。
int:
- int 數據類型是32位、有符號的以二進制補碼表示的整數;
- 最小值是 -2,147,483,648(-2^31);
- 最大值是 2,147,483,647(2^31 - 1);
- 一般地整型變量默認為 int 類型;
- 默認值是 0 ;
- 例子:int a = 100000, int b = -200000。
long:
- long 數據類型是 64 位、有符號的以二進制補碼表示的整數;
- 最小值是 -9,223,372,036,854,775,808(-2^63);
- 最大值是 9,223,372,036,854,775,807(2^63 -1);
- 這種類型主要使用在需要比較大整數的系統上;
- 默認值是 0L;
- 例子: long a = 100000L,Long b = -200000L。
"L"理論上不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。所以最好大寫。
float:
- float 數據類型是單精度、32位、符合IEEE 754標準的浮點數;
- float 在儲存大型浮點數組的時候可節省內存空間;
- 默認值是 0.0f;
- 浮點數不能用來表示精確的值,如貨幣;
- 例子:float f1 = 234.5f。
double:
- double 數據類型是雙精度、64 位、符合IEEE 754標準的浮點數;
- 浮點數的默認類型為double類型;
- double類型同樣不能表示精確的值,如貨幣;
- 默認值是 0.0d;
- 例子:double d1 = 123.4。
boolean:
- boolean數據類型表示一位的信息;
- 只有兩個取值:true 和 false;
- 這種類型只作為一種標誌來記錄 true/false 情況;
- 默認值是 false;
- 例子:boolean one = true。
char:
- char類型是一個單一的 16 位 Unicode 字符;
- 最小值是 \u0000(即為0);
- 最大值是 \uffff(即為65,535);
- char 數據類型可以儲存任何字符;
- 例子:char letter = ‘A‘;。
- JAVA中還存在另外一種基本類型void,它也有對應的包裝類 java.lang.Void,不過我們無法直接對它們進行操作
引用類型
- 在Java中,引用類型的變量非常類似於C/C++的指針。引用類型指向一個對象,指向對象的變量是引用變量。這些變量在聲明時被指定為一個特定的類型,比如 Employee、Puppy 等。變量一旦聲明後,類型就不能被改變了。
- 對象、數組都是引用數據類型。
- 所有引用類型的默認值都是null。
- 一個引用變量可以用來引用任何與之兼容的類型。
- 例子:Site site = new Site("Runoob")
基礎總結筆記1