1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 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

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>