博客地址:https://blog.csdn.net/houjiyu...
本系列文章將主要針對JAVA一些基礎知識點進行講解,爲平時概括所結,無論是剛接觸JAVA開發菜鳥仍是業界資深人士,都但願對廣大同行帶來一些幫助。如有問題請及時留言或加QQ:243042162。java
寄語:
海納百川,有容乃大;壁立千仞,無欲則剛。
咱們在安裝java環境時,常常會有疑問,jdk裏的jre與外面jre有什麼區別?函數
jdk-jre(專用jre)與公共jre的主要區別在於jdk-jre多了一個server的vm執行選項。
簡言之:若是電腦運行一個java程序的時候,會自動調用client vm;可是若是開發java程序時使用的就是server vm,注意: 平時所說的「java自動更新」根本不是所安裝的JDK版本的更新,它指的是這個公用JRE運行時環境的更新,這個更新爲的是讓你的計算機可以使用最新版本正常的運行一些網站或則Web應用等等當中的java程序。
1.標識符: 指類名(包括接口、枚舉、抽象類)、方法名、變量、常量名、包名等能夠自定義的字符組合。工具
1)標識符不能是關鍵字或true、false、null。
2)標識符能夠包含字母、數字0-9下劃線(_)或美圓符號($)。
3)標識符的第一個字符必須是字母、下劃線(_)或美圓符號($)。
4)標識符是區別大小寫的,而且沒有規定最大長度。
2.關鍵字 開發工具
訪問控制 | private | protected | public | ||||
類,方法和變量修飾符 | abstract | class | extends | final | implements | interface | native |
new | static | strictfp | synchronized | transient | volatile | ||
程序控制 | break | continue | return | do | while | if | else |
for | instanceof | switch | case | default | |||
錯誤處理 | try | catch | throw | throws | finally | ||
包相關 | import | package | |||||
基本類型 | boolean | byte | char | double | float | int | long |
short | null | true | false | ||||
變量引用 | super | this | void | ||||
保留字 | goto | const |
1.用來修飾成員變量,將其變爲類的成員,從而實現全部對象對於該成員的共享;
2.用來修飾成員方法,將其變爲類方法,能夠直接使用「類名.方法名」的方式調用,經常使用於工具類;
3.靜態塊用法,將多個類成員放在一塊兒初始化,使得程序更加規整,其中理解對象的初始化過程很是關鍵;
4.靜態導包用法,將類的方法直接導入到當前類中,從而直接使用「方法名」便可調用類方法,更加方便。
代碼示例網站
class TestSon { public TestSon(String msg) { System.out.println(msg); } } public class StaticTest { TestSon son1 = new TestSon("son1成員變量初始化"); static TestSon son2; static { son2 = new TestSon("static成員son2成員變量初始化"); son4 = new TestSon("static成員son4成員變量初始化"); } public StaticTest(String msg) { System.out.println(msg); } TestSon son3 = new TestSon("son3成員變量初始化"); static TestSon son4; public static void funStatic() { System.out.println("static修飾的funStatic方法"); } public static void main(String[] args) { StaticTest.funStatic(); System.out.println("****************"); StaticTest p1 = new StaticTest("p1初始化"); } }
輸出this
static成員son2成員變量初始化 static成員son4成員變量初始化 static修飾的funStatic方法 **************** son1成員變量初始化 son3成員變量初始化 p1初始化
方法的重寫 Overriding 和重載 Overloading 是 Java 多態性的不一樣表現。
重寫 Overriding 是父類與子類之間多態性的一種表現,重載 Overloading 是一個類中多態性的一種表現。
參數 | 抽象類 | 接口 |
---|---|---|
默認的方法實現 | 它能夠有默認的方法實現 | 接口徹底是抽象的。它根本不存在方法的實現 |
實現 | 子類使用extends關鍵字來繼承抽象類。若是子類不是抽象類的話,它須要提供抽象類中全部聲明的方法的實現。 | 子類使用關鍵字implements來實現接口。它須要提供接口中全部聲明的方法的實現 |
構造器 | 抽象類能夠有構造器 | 接口不能有構造器 |
與正常Java類的區別 | 除了你不能實例化抽象類以外,它和普通Java類沒有任何區別 | 接口是徹底不一樣的類型 |
訪問修飾符 | 抽象方法能夠有public、protected和default這些修飾符 | 接口方法默認修飾符是public。你不可使用其它修飾符。 |
main方法 | 抽象方法能夠有main方法而且咱們能夠運行它 | 接口沒有main方法,所以咱們不能運行它。 |
多繼承 | 抽象方法能夠繼承一個類和實現多個接口 | 接口只能夠繼承一個或多個其它接口 |
速度 | 它比接口速度要快 | 接口是稍微有點慢的,由於它須要時間去尋找在類中實現的方法。 |
添加新方法 | 若是你往抽象類中添加新的方法,你能夠給它提供默認的實現。所以你不須要改變你如今的代碼。 | 若是你往接口中添加方法,那麼你必須改變實現該接口的類。 |