第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java中可以把類定義成局部變量,有什么實際意義嗎?

Java中可以把類定義成局部變量,有什么實際意義嗎?

精慕HU 2019-02-21 08:12:10
今天筆試遇到的試題,一下子把我打得措手不及。想問下大神,這種有沒有實際運用場景的。 public class Test { public int test() { // 把類C定義成局部變量 class C{ public int num = 1; } C c = new C(); return c.num; } public static void main(String[] args) { // 把類B定義成局部變量 class B { public int n = 3; } Object o = (Object) new B(); B b = (B) o; System.out.println(b.n); System.out.println(new Test().test()); } }
查看完整描述

6 回答

?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

在方法中有兩種方式定義類:

   public void myMethod()
    {
        // 匿名內(nèi)部類
        Runnable r = new Runnable() {
            public void run() {}
        };

        // 局部內(nèi)部類
        class LocalClass implements Runnable
        {
            public void run() {}
        }
    }

題主說的就是局部內(nèi)部類,在使用上和匿名內(nèi)部類效果上是一樣的,我想大多數(shù)人更傾向于使用匿名內(nèi)部類。它們有如下特點:

  • 能訪問方法中的final變量

  • 外部包括本類中的其他方法都是不可見的

實際開發(fā)中最常見的使用方式,就是實現(xiàn)Runnable了。

查看完整回答
反對 回復 2019-03-01
?
一只甜甜圈

TA貢獻1836條經(jīng)驗 獲得超5個贊

延遲初始化占位類,Java Concurrency in Practice有講。主要作用就是延遲初始化+安全發(fā)布。

查看完整回答
反對 回復 2019-03-01
?
動漫人物

TA貢獻1815條經(jīng)驗 獲得超10個贊

延遲初始化+安全

查看完整回答
反對 回復 2019-03-01
?
慕絲7291255

TA貢獻1859條經(jīng)驗 獲得超6個贊

實際應用中,可以用作json解析么。

查看完整回答
反對 回復 2019-03-01
?
神不在的星期二

TA貢獻1963條經(jīng)驗 獲得超6個贊

這是內(nèi)部類吧……前幾樓的說法不太懂

隨便百度的內(nèi)部類詳解

題主的栗子在這個詳解中是第4點,方法內(nèi)的內(nèi)部類,最下面也有說為什么要用內(nèi)部類

查看完整回答
反對 回復 2019-03-01
?
飲歌長嘯

TA貢獻1951條經(jīng)驗 獲得超3個贊

  1. 內(nèi)部類方便私有化,安全,而且使外部代碼簡潔。

  2. 內(nèi)部類是面向對象的閉包

  3. 私有靜態(tài)內(nèi)部類, 只有當有引用時, 該類才會被裝載,就是上面說的延遲加載啦。。。

查看完整回答
反對 回復 2019-03-01
  • 6 回答
  • 0 關注
  • 862 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號