男人天堂日韩,中文字幕18页,天天伊人网,成人性生交大片免费视频

java重點知識總結

時間:2021-06-11 08:48:09 總結 我要投稿

java重點知識總結

  java是一門軟件語言,學習軟件技術的同學們都要學會JAVA編程技術!以下是java重點知識總結,一起來看看吧!

java重點知識總結

  java重點知識總結

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

  整形:

  byte  1 個字節(jié)

  short  2 個字節(jié)

  int   4個字節(jié)

  long  8個字節(jié)

  字符:

  char  2個字節(jié)

  浮點數(shù):

  float  4個字節(jié)

  double 8個字節(jié)

  布爾:

  boolean 1個字節(jié)

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

  以0b或者0B開頭

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

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

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

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

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

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

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

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

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

  7. Java中帶包的編譯方法

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

  運行 java 包名字.類名字

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

  9. instanceof 運算符

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

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

   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: 必須在靜態(tài)初始塊中或聲明該FIeld時指定初始值

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

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

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

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

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

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

  16.不可變類:創(chuàng)建后該類的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);

  }

  }

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

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

  Integer in2 = Integer.valueOf(6);

  Integer in3= Integer.valueOf(6);

  in2 == in3 is true;

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

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

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

  復制代碼 代碼如下:

  import java.util.*;

  public class DiscernVariable

  {

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

  private class InClass

  {

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

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

  復制代碼 代碼如下:

  import java.util.*;

  class Out

  {

  class In

  {

  public In()

  {

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

  }

  }

  }

  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("靜態(tài)內(nèi)部類構造器");

  }

  }

  }

  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)部類實例

  }

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

java面試知識點總結02-17

java集合知識點總結02-17

java框架知識點總結02-17

java基礎知識點總結02-17

初中政治重點知識總結精選03-22

醫(yī)學基礎知識重點總結12-03

《離騷》重點知識11-29

高一政治重點知識總結03-29

兒科重點知識點總結08-09