<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 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

    主站蜘蛛池模板: 成人国内精品久久久久一区| 色偷偷888欧美精品久久久| 少妇人妻偷人精品免费视频| 午夜精品视频在线观看| 亚洲精品乱码久久久久久按摩 | 久久精品毛片免费观看| 精品无码国产自产拍在线观看蜜| 99久久精品费精品国产一区二区| 亚洲AV永久无码精品一区二区国产 | 国产美女精品视频| 九九在线精品视频专区| 人妻AV一区二区三区精品| 欧美亚洲精品中文字幕乱码免费高清| 亚洲精品电影网| 国产成人精品高清在线观看99| 无码国产69精品久久久久网站| 免费看一级毛片在线观看精品视频| 93精91精品国产综合久久香蕉| 51视频国产精品一区二区| 午夜精品久久久久久久久| 亚洲国产精品一区二区九九| 国内精品伊人久久久久网站| 国产精品国产三级国产a| 亚洲精品国产成人专区| 久久国产精品国产自线拍免费| 国产精品99精品无码视亚| 国产亚洲精品a在线无码| 无码精品视频一区二区三区| 亚洲国产综合精品中文字幕 | 免费精品无码AV片在线观看| 中国精品18videosex性中国| 日本精品久久久久影院日本| 精品国产污污免费网站入口| 国产亚洲精品激情都市| 国产精品自在线拍国产第一页| 99久久99久久精品国产片| 亚洲日韩精品欧美一区二区| 日本精品中文字幕| 囯产精品一区二区三区线| 成人精品一区二区三区免费看 | 国产精品免费AV片在线观看|