<menuitem id="r3jhr"></menuitem><noscript id="r3jhr"><progress id="r3jhr"><code id="r3jhr"></code></progress></noscript>

      java重點知識總結

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

      java重點知識總結

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

      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面試知識點總結02-17

      java集合知識點總結02-17

      java框架知識點總結02-17

      java基礎知識點總結02-17

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

      醫學基礎知識重點總結12-03

      《離騷》重點知識11-29

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

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

      久久亚洲中文字幕精品一区四_久久亚洲精品无码av大香_天天爽夜夜爽性能视频_国产精品福利自产拍在线观看
      <menuitem id="r3jhr"></menuitem><noscript id="r3jhr"><progress id="r3jhr"><code id="r3jhr"></code></progress></noscript>
        亚洲日韩高清在线亚洲专区 | 日韩亚洲首页中文字幕 | 在线视频国产亚洲欧美一区不卡 | 亚洲欧美高清在线精品二区 | 亚洲国产永久免费播放片 | 天天躁日日躁永久一区 |