Java知識(shí)點(diǎn)總結(jié)

    時(shí)間:2020-12-08 15:23:15 學(xué)習(xí)總結(jié) 我要投稿

    Java知識(shí)點(diǎn)總結(jié)

      很多初學(xué)java的新人不知道哪些java基礎(chǔ)知識(shí)必須掌握,下面yjbys小編為大家精心整理的Java知識(shí)點(diǎn)總結(jié),方便大家學(xué)習(xí)!

    Java知識(shí)點(diǎn)總結(jié)

      1. 基本數(shù)據(jù)類(lèi)型

      整形:

      byte 1 個(gè)字節(jié)

      short 2 個(gè)字節(jié)

      int 4個(gè)字節(jié)

      long 8個(gè)字節(jié)

      字符:

      char 2個(gè)字節(jié)

      浮點(diǎn)數(shù):

      float 4個(gè)字節(jié)

      double 8個(gè)字節(jié)

      布爾:

      boolean 1個(gè)字節(jié)

      2.java 7 新增二進(jìn)制整數(shù)

      以0b或者0B開(kāi)頭

      3.java中字符時(shí)16位的Unicode編碼方式,格式是'\uXXXX',其中xxxx代表一個(gè)十六進(jìn)制整數(shù)

      4.java中規(guī)定了正無(wú)窮大、負(fù)無(wú)窮大和零

      正無(wú)窮大= 一個(gè)正數(shù)除以0

      負(fù)無(wú)窮大= 一個(gè)負(fù)數(shù)除以零

      0.0 除以0.0 或者 對(duì)一個(gè)負(fù)數(shù)開(kāi)方 得到一個(gè)非數(shù)

      5. 在java中布爾類(lèi)型只能是true和false

      6. 在java中沒(méi)有多維數(shù)組

      看似像C語(yǔ)言中的多維數(shù)組不是真正的數(shù)組,比如 a[3][4] , a[0] a[1] a[2] 是真實(shí)存在的,裝的是地址,和c語(yǔ)言中動(dòng)態(tài)分配為的數(shù)組一樣

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

      7. Java中帶包的編譯方法

      javac -d . Hello.java 會(huì)在當(dāng)前目錄下生成目錄樹(shù)

      運(yùn)行 java 包名字.類(lèi)名字

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

      9. instanceof 運(yùn)算符

      格式: 引用變量名 instanceof 類(lèi)名(或者接口) 他用于判斷前面的對(duì)象是否是后面對(duì)象的類(lèi),子類(lèi)、實(shí)現(xiàn)類(lèi)的實(shí)例,是返回true,否者返回false

      10. Java 中基本數(shù)據(jù)類(lèi)型和對(duì)應(yīng)封裝類(lèi)之間的轉(zhuǎn)化

      int a = 1;

      Integer A = new Integer(a);

      a = A.intValue();

      其他的類(lèi)型也是這樣的。

      11.單例(singleton)類(lèi) 例子

      復(fù)制代碼 代碼如下:

      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修飾的成員變量初始化問(wèn)題

      類(lèi)Field: 必須在靜態(tài)初始?jí)K中或聲明該FIeld時(shí)指定初始值

      實(shí)例Field:必須在非靜態(tài)初始?jí)K中或聲明該FIeld時(shí)指定初始值或構(gòu)造器中聲明

      13.Final 變量必須顯式初始化,系統(tǒng)不會(huì)對(duì)final變量進(jìn)行隱式初始化

      14.java會(huì)使用常量池來(lái)管理曾經(jīng)用過(guò)的字符串直接常量,例如:String a = "java"; ,系統(tǒng)把常量字符串“java”存在常量池,當(dāng)再次執(zhí)行 String b = "java"; a == b 是true

      15.final 方法不可以重寫(xiě),final類(lèi)不能被繼承

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

      若果是用final修飾的方法在子類(lèi)中出現(xiàn),那是子類(lèi)新定義的,與父類(lèi)沒(méi)有關(guān)系

      16.不可變類(lèi):創(chuàng)建后該類(lèi)的Field是不可改變的。java提供了8個(gè)基本變量的包裝類(lèi)和string都是不可改變類(lèi)。

      17.緩存實(shí)例的不可改變類(lèi)

      復(fù)制代碼 代碼如下:

      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);

      }

      }

      用緩存實(shí)例要看某個(gè)對(duì)象的使用頻率,若重復(fù)使用那就利大于弊,若不經(jīng)常使用那弊就大于利

      還有java提供的java.lang.Integer 創(chuàng)建數(shù)值在-128-127之間的數(shù)采用緩存機(jī)制的

      Integer in2 = Integer.valueOf(6);

      Integer in3= Integer.valueOf(6);

      in2 == in3 is true;

      18. static 和 abstract 不能同時(shí)修飾一個(gè)方法,沒(méi)有類(lèi)抽象方法

      19.一個(gè)類(lèi)可以又一個(gè)父類(lèi),實(shí)現(xiàn)多個(gè)接口,接口中Filed是public 、static、final的,方法是public abstract的

      20.非靜態(tài)內(nèi)部類(lèi)的`方法訪(fǎng)問(wèn)某個(gè)變量,搜索順序?yàn)椋合葍?nèi)部類(lèi)中方法內(nèi)-> 內(nèi)部類(lèi) -> 外部類(lèi)中如果都找不到則出現(xiàn)編譯錯(cuò)誤

      復(fù)制代碼 代碼如下:

      import java.util.*;

      public class DiscernVariable

      {

      private String prop = "外部類(lèi)的實(shí)例變量";

      private class InClass

      {

      private String prop = "內(nèi)部類(lèi)的實(shí)例變量";

      public void info()

      {

      String prop = "局部變量";

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

      System.out.println("內(nèi)部類(lèi)的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.非靜態(tài)內(nèi)部類(lèi)不能有靜態(tài)方法、靜態(tài)Field、靜態(tài)初始化塊

      22.在外部類(lèi)之外訪(fǎng)問(wèn)內(nèi)部類(lèi)

      訪(fǎng)問(wèn)非靜態(tài)內(nèi)部類(lèi):outclass.Inclass varname = new outclass().new InClass();

      訪(fǎng)問(wèn)靜態(tài)內(nèi)部類(lèi): outclass.Inclass varname = new outclass.Inclass();

      復(fù)制代碼 代碼如下:

      import java.util.*;

      class Out

      {

      class In

      {

      public In()

      {

      System.out.println("非靜態(tài)內(nèi)部類(lèi)構(gòu)造器");

      }

      }

      }

      public class CreatInnerInstance

      {

      public static void main(String[] args)

      {

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

      /*

      以上的代碼可分開(kāi)寫(xiě)為:

      Out.In in;

      Out out = new Out();

      in = out.new In();

      */

      }

      }

      class SubClass extends Out.In

      {

      //顯示定義SubClass的構(gòu)造器

      public SubClass(Out out)

      {

      //通過(guò)轉(zhuǎn)入的Out對(duì)象顯示調(diào)用In的構(gòu)造器

      out.super();

      }

      }

      復(fù)制代碼 代碼如下:

      import java.util.*;

      class StaticOut

      {

      static class StaticIn

      {

      public StaticIn()

      {

      System.out.println("靜態(tài)內(nèi)部類(lèi)構(gòu)造器");

      }

      }

      }

      public class CreatStaticInnerInstance

      {

      public static void main(String[] args)

      {

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

      /*

      以上的代碼可分開(kāi)寫(xiě)為:

      StaticOut.StaticIn in;

      in = new StaticOut.StaticIn();

      */

      }

      }

      class SubClass extends StaticOut.StaticIn

      {

      //無(wú)須創(chuàng)建內(nèi)部類(lèi)實(shí)例

      }

    【Java知識(shí)點(diǎn)總結(jié)】相關(guān)文章:

    Java知識(shí)點(diǎn)歸納08-29

    Java認(rèn)證考試知識(shí)點(diǎn):Java時(shí)間類(lèi)的函數(shù)09-21

    java必備基礎(chǔ)知識(shí)點(diǎn)08-22

    Java基礎(chǔ)知識(shí)點(diǎn)歸納08-15

    Java有關(guān)jquery的幾個(gè)知識(shí)點(diǎn)11-12

    java基本語(yǔ)法復(fù)習(xí)知識(shí)點(diǎn)大全11-12

    Java筆試?贾R(shí)點(diǎn)錦集08-22

    Java中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn)11-14

    Java的技術(shù)點(diǎn)和知識(shí)點(diǎn)歸納08-13

    Java中級(jí)開(kāi)發(fā)工程師知識(shí)點(diǎn)歸納08-13

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲欧美国产va在线播放频 | 亚州精品在线播放视频 | 亚洲中文在线伊人 | 日韩国产中文综合 | 日韩精品福利片午夜免费观看 | 日本免费人妖最新一区 |