最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中的小知識點總結(jié)

 更新時間:2013年07月17日 11:30:18   作者:  
最近在復(fù)習(xí)Java的基礎(chǔ),遇到了一些比較偏的考核題目,特地總結(jié)一下需要注意的知識點!不過在使用IDE編程的時候,這些問題都會馬上被IDE識別出來,編譯是通不過的。我在這里提出來就相當(dāng)于給初學(xué)者一些貢獻(xiàn)吧

一、聲明局部變量是的一些特性和規(guī)則
(1)聲明的局部變量是不會被默認(rèn)初始化的,成員變量則是會被默認(rèn)初始化的。例如:

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

class Demo {  
      public static void main(String[] args) {
           String s;
           System.out.println(s);
     }
}

上面的這段示例代碼中,直接輸出s是錯誤的,連編譯都不同通過,因為在main方法中聲明s,這時s是局部變量,不會被默認(rèn)初始化值,因此在下面直接輸出是有錯誤的。代碼改寫如下即可:
復(fù)制代碼 代碼如下:

class Demo {  
      String s;
      public static void main(String[] args) {
           System.out.println(s);
     }
}

這樣輸出的話就是null了,因為s被聲明為成員變量,因此默認(rèn)會被初始化值null。
(2)聲明局部變量的前面不能有任何權(quán)限訪問修飾符(public、protected和private),只能是friendly的默認(rèn)友好的,但是可以使用final來修飾局部變量。

二、使用final來修飾基本類型局部變量和引用類型局部變量的區(qū)別
(1)final修飾基本類型局部變量的時候,不能對其基本類型的數(shù)據(jù)值進(jìn)行修改。因為final修飾的變量是最終的,不能被改變。如下代碼:

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

public class Something {
   public int addOne(final int x) {
       return ++x;
   }
}

這里addOne方法中使用final int x作為參數(shù),下面再對其進(jìn)行自增是錯誤的。

(2)final修飾引用類型的局部變量的時候,也就是對象。這時可以修改對象中的屬性信息,但是不能修改對象的引用。比如下面的代碼:

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

public class Something {
   public static void main(String[] args) {
       Other o = new Other();
       new Something().addOne(o);
   }
   public void addOne(final Other o) {
       o.i++;
   }
}
class Other {
   public int i;
}

這里addOne方法接收的參數(shù)是一個對象,而在方法體中自增了對象中的屬性 i 的值,而對象的引用地址沒有被修改,因此不會發(fā)生錯誤。而如果在方法體中寫上:o = new Other(); 這時就會報錯了。

(3)在類中被final修飾聲明的成員變量不會默認(rèn)初始化值。因此必須在構(gòu)造器之前就得給定一個具體值。例如下面的代碼:

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

class Something {
    final int i;// 這行就已經(jīng)報錯了,編譯不能通過,沒有初始化值
    public void doSomething() {
        System.out.println("i = " + i);
    }
}

final int i是個final的instant variable (實例變量,或叫成員變量)。final的instant variable沒有default value,必須在constructor (構(gòu)造器)結(jié)束之前被賦予一個明確的值。可以修改為"final int i =0;"。

相關(guān)文章

  • 實例講解Java中動態(tài)代理和反射機(jī)制

    實例講解Java中動態(tài)代理和反射機(jī)制

    在本篇文章里小編給各位分享了關(guān)于Java中動態(tài)代理和反射機(jī)制的相關(guān)知識點內(nèi)容,有需要的朋友們學(xué)習(xí)下。
    2019-01-01
  • 詳解Android中的Toast源碼

    詳解Android中的Toast源碼

    這篇文章主要介紹了詳解Android中的Toast源碼,Toast使用Java語言實現(xiàn),需要的朋友可以參考下
    2015-07-07
  • 詳解最簡單易懂的Spring Security 身份認(rèn)證流程講解

    詳解最簡單易懂的Spring Security 身份認(rèn)證流程講解

    這篇文章主要介紹了詳解最簡單易懂的Spring Security 身份認(rèn)證流程講解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Java服務(wù)假死之生產(chǎn)事故的排查與優(yōu)化問題

    Java服務(wù)假死之生產(chǎn)事故的排查與優(yōu)化問題

    在服務(wù)器上通過curl命令調(diào)用一個Java服務(wù)的查詢接口,半天沒有任何響應(yīng),怎么進(jìn)行這一現(xiàn)象排查呢,下面小編給大家記一次生產(chǎn)事故的排查與優(yōu)化——Java服務(wù)假死問題,感興趣的朋友一起看看吧
    2022-07-07
  • Java后臺基于POST獲取JSON格式數(shù)據(jù)

    Java后臺基于POST獲取JSON格式數(shù)據(jù)

    這篇文章主要介紹了Java后臺基于POST獲取JSON格式數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • springboot + swagger 實例代碼

    springboot + swagger 實例代碼

    本篇文章主要介紹了springboot + swagger 實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringBoot整合Apache?Pulsar教程示例

    SpringBoot整合Apache?Pulsar教程示例

    這篇文章主要為大家介紹了SpringBoot整合Apache?Pulsar教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 深入理解Java設(shè)計模式之外觀模式

    深入理解Java設(shè)計模式之外觀模式

    這篇文章主要介紹了JAVA設(shè)計模式之外觀模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2021-11-11
  • Mybatis分解式查詢使用方法

    Mybatis分解式查詢使用方法

    這篇文章主要介紹了Mybatis分解式查詢使用方法,分解式查詢就是將一條Sql語句拆分成多條。在 MyBatis 多表查詢中,使用連接查詢時一個 Sql 語句就可以查詢出所有的數(shù)據(jù)
    2023-04-04
  • spring-data-redis 2.0 的使用示例代碼

    spring-data-redis 2.0 的使用示例代碼

    這篇文章主要介紹了spring-data-redis 2.0 的使用示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01

最新評論

武邑县| 凤冈县| 扶风县| 新乡市| 邢台县| 长沙县| 大庆市| 湟中县| 会同县| 凌源市| 靖西县| 黎城县| 天峨县| 腾冲县| 平山县| 东台市| 阳谷县| 道真| 德清县| 玉门市| 化德县| 通城县| 邵阳县| 韶关市| 旬阳县| 准格尔旗| 湘阴县| 青浦区| 临猗县| 阿拉善右旗| 遂宁市| 宝兴县| 安化县| 兴隆县| 得荣县| 肇州县| 灵山县| 满城县| 丁青县| 汝南县| 镇安县|