java的语法知识_Java语法知识点
特殊字符
\n 換行符
\t 制表符8個基本數據類型byte 字節型 1
short 短整型 2
int 整型 4
long 長整型 8
char 字符型 2
boolean 布爾型 1
float 浮點型 4
double 雙精度浮點型 8自動轉換long a = 100; 100(int) ---- long強制轉換int i = 10;byte b = (byte)i;
強制轉換可能會丟失數據。
引用類型(String 數組 。。。對象)三目運算int a = 5>4?10:100;//a=10表達式?值1:值2
表達式為true 取值1否則取值2
If
if的 {} 可以省略,如果省略 ,if下的第一句是屬于if建議不省略if(條件){//代碼塊}
條件結果必須是boolean結果
結果為true,則執行代碼塊
注意:js中if的條件 非數字0即真
5.?Switch
Switch表達式的類型?
char?int?short?bety
break在switch的用法 case?后面
default 的位置?是否可以省略任何位置可以都可以?
可以
case 是否可以相同?
不能
switch和if的使用場合(區別)?
break:用在switch:跳出switch,防止穿透
用在循環:跳出當前循環
continue:結束本次循環,進入下一次循環
return語句:return語句執行后,該方法后面的代碼都不會再執行。
6.?while 與 do while
while:先判斷條件再執行。
do-while:先執行一次在判斷。
聲明一下沒有while-do這個語法!!!
7.?代碼調試
打斷點:斷點位置是即將要執行的代碼。
F6 ?:單步執行
8. 內存
分堆和棧
9. 類和對象
一. 類即分類,抽象的,一種定義
二. 對象是客觀存在的,占據空間的
類是一群具有相同特征(屬性)和行為(方法)的抽象定義
對象是類的具體化(實例化new xxx)
10. 命名法
1. 帕斯卡命名法,每個單詞首字母大寫,java一般應用在類名
如: GirlFriend, MyHomeWorld, YourName ...
2. 駝峰命名法,第一個單詞首字母小寫,后面單詞每個首字母大寫
如: girlFriend, myHomeWorld, yourName
java一般應用在屬性和方法上
3. 匈牙利命名法,每個字母都大寫,單詞與單詞之間使用下劃線隔開
如:GIRL_FRIEND, MY_HOME_WORLD, YOUR_NAME。
java一般用在靜態常量上,其他更多應用在數據庫字段上。
11.成員變量和局部變量
實例方法:屬于對象的方法
不用static修飾,通過對象名.方法名()調用
類方法 :屬于類的方法
用 static修飾(也叫靜態方法),可以直接通過類名.方法名() 調用,也可以
通過對象名.方法名() 調用
static : 靜態的,在加載類時會加載
修飾成員(成員變量,成員方法)
修飾方法,該方法是靜態方法(類方法) ,可以直接通過類名調用
靜態方法里不能使用非靜態變量、
修飾變量,該變量是靜態的,所有對象共享(該變量只有一份)
成員變量和局部變量重名時,優先使用局部變量
成員變量有默認值,局部變量沒有默認值,局部變量使用前必須賦初始值
成員變量的作用域:在整個類中有效
局部變量作用域:只在定義該變量的{}內有效。
12.?super的用法:
(1)super.屬性 ??訪問父類的屬性
(2)super.方法(..) ?調用父類的方法
(3)super(…) ??調用父類的構造方法
在子類構造中用super(..)調用父類的構造,super(..)必須放在第一句,所以,this(..)和super(..)不能在同一個構造中出現。
在子類的構造中的第一句默認有個隱式的super(),表示調用父類的無參構造,所以在new子類對象時,會先執行父類的構造。
當父類沒有無參構造時,子類必須添加構造,并且在構造的第一句調用父類的有參構造。
13.?繼承: ??extends(關鍵字)
子類繼承父類的屬性和方法
一個類只能繼承一個父類(單繼承)
子類不能繼承父類私有的成員
子類不能繼承父類的構造
子類與父類不在同包,使用默認訪問權限的成員也不能被繼承
14.?訪問控制修飾符:
本類
同包其他類
子孫類
跨包
Public(公共的)
√
√
√
√
Protected(受保護的)
√
√
√
X
默認的(friendly)
√
√
同包子孫類可訪問
X
Private(私有的)
√
X
X
X
繼承的好處
提高代碼的復用性
為多態提供基礎
15.?重寫(覆蓋)
當父類的方法滿足不了子類需求時,子類會重新寫一個與父類方法名,參數列表一樣的方法。
重寫的具體規則:
方法名一樣,參數列表一樣,返回值類型一樣(子類方法的返回類型可以是父類方法返回類型的子類),修飾符不比父類的修飾符嚴格(拋出的異常不比父類的大)
16.?final的用法
修飾類 不可被繼承
修飾方法 不可被重寫
修飾變量 該變量是常量,不可改變
Final 修飾引用類型時,不能改變地址,但是可以改變地址上的內容final A a = newA();
a= new A(); //XXX
a.num = 1000;//√√√
17.?抽象類,抽象方法
當某個方法的方法體不清楚時,干脆把該方法的方法體刪掉,加上abstract關鍵字修飾,該方法是一個抽象方法。該方法所在的類應該定義成抽象類。
當普通類繼承抽象類時,普通類必須重寫抽象類里的抽象方法。
抽象類不能實例化(不能new 對象)
抽象類有構造方法
抽象類有普通的成員變量
抽象類中可以有普通方法和抽象方法。
18.?多態
一種事物的多種表現形態。
狗可以叫做動物:
Animal ani = new Dog();//父類引用指向子類對象
ani是一個引用(地址) ,引用是父類類型
new Dog() new的是子類的對象
狗也可以叫做狗:
Dog dog = new Dog()
多態時
普通成員變量: 編譯期和運行期都看=左邊的引用是什么類型
左邊的引用如果是父類類型,所訪問的變量是父類的
左邊的引用如果是子類類型,所訪問的變量是子類的
普通成員方法: 運行期看=右邊new的是什么類型的對象
如果new的是哪個類的對象,調用的就是哪個類的方法
編譯期看左邊。
靜態方法:編譯期運行期都看=左邊
左邊是什么類型,調用的就是該類的方法。
靜態成員變量:編譯期和運行期都看=左邊
19.?轉型:
Dog dog1 = (Dog)pet;//向下轉型(將父類引用轉化為子類的引用)
//編譯正確,執行拋出異常ClassCastException
// Penguin penguin = (Penguin)pet;//
//編譯正確,執行拋出異常ClassCastException
Fa fa = new Fa();
Son son = (Son)fa;
多態的好處:
提高程序的擴展性,可維護性。
多態的表現形式:
父類引用指向子類對象,重寫,重載,可變長參數的方法
public void show(Object... nums){
for (Object num : nums) {
System.out.println(num);
}
}
Object:所有類的根類,所有的類直接或間接繼承Object類
20.?接口
接口:特殊的抽象類,也可理解為一種能力,一種規范(約束)
一種規范(約束):約束所有的實現類都必須實現接口中的抽象方法
一種能力:想要具備某種能力,只要實現有該能力的接口。/*** 接口中的變量都是靜態常量
* 在接口中定義一個變量,默認會加上public final static
* 接口中的方法都是抽象方法(jdk1.8之前)
* 定義的方法默認會加上public abstract
* 類和類可以是繼承extends關系,單繼承
* 類和接口 是類 實現implements接口,可多實現
* 接口和接口 接口繼承接口,并且可以多繼承接口。
*
* 普通類實現接口必須實現接口中的所有抽象方法
* 抽象類實現接口可以不用實現接口中的方法
*
* jdk1.8及以上
* 接口中可以有static 或default修飾的普通方法*/
總結
以上是生活随笔為你收集整理的java的语法知识_Java语法知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java alder32_Java里面计
- 下一篇: Win10正式版怎么免费激活 Win10