<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            Java知識點總結

            時間:2020-12-08 15:23:15 學習總結 我要投稿

            Java知識點總結

              很多初學java的新人不知道哪些java基礎知識必須掌握,下面yjbys小編為大家精心整理的Java知識點總結,方便大家學習!

            Java知識點總結

              1. 基本數據類型

              整形:

              byte 1 個字節

              short 2 個字節

              int 4個字節

              long 8個字節

              字符:

              char 2個字節

              浮點數:

              float 4個字節

              double 8個字節

              布爾:

              boolean 1個字節

              2.java 7 新增二進制整數

              以0b或者0B開頭

              3.java中字符時16位的Unicode編碼方式,格式是'\uXXXX',其中xxxx代表一個十六進制整數

              4.java中規定了正無窮大、負無窮大和零

              正無窮大= 一個正數除以0

              負無窮大= 一個負數除以零

              0.0 除以0.0 或者 對一個負數開方 得到一個非數

              5. 在java中布爾類型只能是true和false

              6. 在java中沒有多維數組

              看似像C語言中的多維數組不是真正的數組,比如 a[3][4] , a[0] a[1] a[2] 是真實存在的,裝的是地址,和c語言中動態分配為的數組一樣

              int [][] b = new int[3][4]

              7. Java中帶包的編譯方法

              javac -d . Hello.java 會在當前目錄下生成目錄樹

              運行 java 包名字.類名字

              8. Java多態中的對象的filed 不具有多態性,如 父類 對象 = new 子類(), 對象.field 是調用的父類的,即使子類中覆蓋了該字段。

              9. instanceof 運算符

              格式: 引用變量名 instanceof 類名(或者接口) 他用于判斷前面的對象是否是后面對象的類,子類、實現類的實例,是返回true,否者返回false

              10. Java 中基本數據類型和對應封裝類之間的轉化

              int a = 1;

              Integer A = new Integer(a);

              a = A.intValue();

              其他的類型也是這樣的。

              11.單例(singleton)類 例子

              復制代碼 代碼如下:

              class Singleton

              {

              private static Singleton instance;

              private Singleton(){}

              public static Singleton getInstance()

              {

              if(instance == null)

              {

              instance = new Singleton();

              }

              return instance;

              }

              public static void main(String[] args)

              {

              Singleton s1 = Singleton.getInstance();

              Singleton s2 = Singleton.getInstance();

              System.out.println(s1 == s2);

              }

              }

              12.final修飾的成員變量初始化問題

              類Field: 必須在靜態初始塊中或聲明該FIeld時指定初始值

              實例Field:必須在非靜態初始塊中或聲明該FIeld時指定初始值或構造器中聲明

              13.Final 變量必須顯式初始化,系統不會對final變量進行隱式初始化

              14.java會使用常量池來管理曾經用過的字符串直接常量,例如:String a = "java"; ,系統把常量字符串“java”存在常量池,當再次執行 String b = "java"; a == b 是true

              15.final 方法不可以重寫,final類不能被繼承

              如果用private 方法 和 final private 是一樣的

              若果是用final修飾的方法在子類中出現,那是子類新定義的,與父類沒有關系

              16.不可變類:創建后該類的Field是不可改變的。java提供了8個基本變量的包裝類和string都是不可改變類。

              17.緩存實例的不可改變類

              復制代碼 代碼如下:

              class CacheImmutale

              {

              private static int MAX_SIZE = 10;

              private static CacheImmutale[] cache = new CacheImmutale[MAX_SIZE];

              private static int pos = 0;

              private final String name;

              private CacheImmutale(String name)

              {

              this. name = name;

              }

              public String getName()

              {

              return name;

              }

              public static CacheImmutale valueOf(String name)

              {

              for(int i = 0; i < MAX_SIZE; ++i)

              {

              if(cache[i] != null && cache[i].getName().equals(name))

              return cache[i];

              }

              if(pos == MAX_SIZE)

              {

              cache[0] = new CacheImmutale(name);

              pos = 1;

              }

              else

              {

              cache[pos++] = new CacheImmutale(name);

              }

              return cache[pos -1];

              }

              public boolean equals(Object obj)

              {

              if(this == obj)

              return true;

              if(obj != null && obj.getClass() == CacheImmutale.class)

              {

              CacheImmutale ci = (CacheImmutale)obj;

              return name.equals(ci.getName());

              }

              return false;

              }

              public int hashCode()

              {

              return name.hashCode();

              }

              }

              public class CacheImmuteTest

              {

              public static void main(String[] args)

              {

              CacheImmutale c1 = CacheImmutale.valueOf("Hello");

              CacheImmutale c2 = CacheImmutale.valueOf("Hello");

              System.out.println(c1 == c2);

              }

              }

              用緩存實例要看某個對象的使用頻率,若重復使用那就利大于弊,若不經常使用那弊就大于利

              還有java提供的java.lang.Integer 創建數值在-128-127之間的數采用緩存機制的

              Integer in2 = Integer.valueOf(6);

              Integer in3= Integer.valueOf(6);

              in2 == in3 is true;

              18. static 和 abstract 不能同時修飾一個方法,沒有類抽象方法

              19.一個類可以又一個父類,實現多個接口,接口中Filed是public 、static、final的,方法是public abstract的

              20.非靜態內部類的`方法訪問某個變量,搜索順序為:先內部類中方法內-> 內部類 -> 外部類中如果都找不到則出現編譯錯誤

              復制代碼 代碼如下:

              import java.util.*;

              public class DiscernVariable

              {

              private String prop = "外部類的實例變量";

              private class InClass

              {

              private String prop = "內部類的實例變量";

              public void info()

              {

              String prop = "局部變量";

              System.out.println("外部類的field值:" + DiscernVariable.this.prop);

              System.out.println("內部類的field值:" + this.prop);

              System.out.println("局部變量的值:" + prop);

              }

              }

              public void test()

              {

              InClass in = new InClass();

              in.info();

              }

              public static void main(String[] args)

              {

              new DiscernVariable().test();

              }

              }

              21.非靜態內部類不能有靜態方法、靜態Field、靜態初始化塊

              22.在外部類之外訪問內部類

              訪問非靜態內部類:outclass.Inclass varname = new outclass().new InClass();

              訪問靜態內部類: outclass.Inclass varname = new outclass.Inclass();

              復制代碼 代碼如下:

              import java.util.*;

              class Out

              {

              class In

              {

              public In()

              {

              System.out.println("非靜態內部類構造器");

              }

              }

              }

              public class CreatInnerInstance

              {

              public static void main(String[] args)

              {

              Out.In in = new Out().new In();

              /*

              以上的代碼可分開寫為:

              Out.In in;

              Out out = new Out();

              in = out.new In();

              */

              }

              }

              class SubClass extends Out.In

              {

              //顯示定義SubClass的構造器

              public SubClass(Out out)

              {

              //通過轉入的Out對象顯示調用In的構造器

              out.super();

              }

              }

              復制代碼 代碼如下:

              import java.util.*;

              class StaticOut

              {

              static class StaticIn

              {

              public StaticIn()

              {

              System.out.println("靜態內部類構造器");

              }

              }

              }

              public class CreatStaticInnerInstance

              {

              public static void main(String[] args)

              {

              StaticOut.StaticIn in = new StaticOut.StaticIn();

              /*

              以上的代碼可分開寫為:

              StaticOut.StaticIn in;

              in = new StaticOut.StaticIn();

              */

              }

              }

              class SubClass extends StaticOut.StaticIn

              {

              //無須創建內部類實例

              }

            【Java知識點總結】相關文章:

            Java知識點歸納08-29

            Java認證考試知識點:Java時間類的函數09-21

            java必備基礎知識點08-22

            Java基礎知識點歸納08-15

            Java有關jquery的幾個知識點11-12

            java基本語法復習知識點大全11-12

            Java筆試常考知識點錦集08-22

            Java中級開發工程師知識點11-14

            Java的技術點和知識點歸納08-13

            Java中級開發工程師知識點歸納08-13

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看