亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

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

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

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

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

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

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

  整形:

  byte 1 個字節(jié)

  short 2 個字節(jié)

  int 4個字節(jié)

  long 8個字節(jié)

  字符:

  char 2個字節(jié)

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

  float 4個字節(jié)

  double 8個字節(jié)

  布爾:

  boolean 1個字節(jié)

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

  以0b或者0B開頭

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

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

  正無窮大= 一個正數(shù)除以0

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

  0.0 除以0.0 或者 對一個負(fù)數(shù)開方 得到一個非數(shù)

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

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

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

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

  7. Java中帶包的編譯方法

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

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

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

  9. instanceof 運(yùn)算符

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

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

  int a = 1;

  Integer A = new Integer(a);

  a = A.intValue();

  其他的類型也是這樣的。

  11.單例(singleton)類 例子

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

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

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

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

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

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

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

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

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

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

  復(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í)例要看某個對象的使用頻率,若重復(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 不能同時修飾一個方法,沒有類抽象方法

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

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

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

  import java.util.*;

  public class DiscernVariable

  {

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

  private class InClass

  {

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

  public void info()

  {

  String prop = "局部變量";

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

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

  22.在外部類之外訪問內(nèi)部類

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

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

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

  import java.util.*;

  class Out

  {

  class In

  {

  public In()

  {

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

  }

  }

  }

  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的構(gòu)造器

  public SubClass(Out out)

  {

  //通過轉(zhuǎn)入的Out對象顯示調(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)部類構(gòu)造器");

  }

  }

  }

  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

  {

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

  }

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

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

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

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

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

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

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

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

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

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

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