激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java 內(nèi)部類(匿名類,匿名對(duì)象,靜態(tài)內(nèi)部類)詳解及實(shí)例

java 內(nèi)部類(匿名類,匿名對(duì)象,靜態(tài)內(nèi)部類)詳解及實(shí)例

2020-07-19 11:43JAVA之家 Java教程

這篇文章主要介紹了java 內(nèi)部類詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

內(nèi)部類的介紹

定義在另外一個(gè)類中的類,叫內(nèi)部類

成員內(nèi)部類

1..new 創(chuàng)建成員內(nèi)部類必須先創(chuàng)建外部類的實(shí)例,然后通過.new 創(chuàng)建內(nèi)部類的對(duì)象

2..this 可以通過外部類的類名.this去訪問外部類的所有屬性和方法。

java" id="highlighter_376080">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Test1 {
 
  String name = "asnd";
 
  public static void main(String[] args) {
 
    Test1 test1 = new Test1();
    Inner mInner = test1.new Inner();
    mInner.print();
  }
 
  void show() {
    System.out.println("show");
  }
 
  public class Inner {
 
    String name = "123";
    private void print(){
      show();
      System.out.println(name);//打印的是123
      System.out.println(Test1.this.name);//打印的是asnd
    }
  }
}

匿名內(nèi)部類

沒有名字的類,創(chuàng)建類的同時(shí),也會(huì)創(chuàng)建一個(gè)對(duì)象。

只需要用到一次的類,就可以使用匿名內(nèi)部類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
File file = new File("D:/cc.txt") {
 
    @Override
    public boolean delete() {
      System.out.println("是否刪除y/n");
      Scanner input = new Scanner(System.in);
      String str = input.next();
      if (str.equals("y")) {
        return super.delete();
      }
      System.out.println("刪除失敗");
      return false;
    }
  };
  file.delete();
 
}

匿名對(duì)象

該對(duì)象只需要訪問一次.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
new Thread() {
 
      @Override
      public void run() {
        System.out.println("線程開始!");
        try {
          Thread.sleep(2000);
          System.out.println("線程結(jié)束!");
        } catch (Exception e) {
          e.printStackTrace();
        }
        super.run();
      }
 
    }.start();

靜態(tài)內(nèi)部類

1.靜態(tài)內(nèi)部類只能訪問外部類靜態(tài)的方法和變量,不能訪問非靜態(tài)。

2.靜態(tài)內(nèi)部類可以不需要?jiǎng)?chuàng)建外部類的引用,而直接創(chuàng)建。

匿名內(nèi)部類訪問局部變量

內(nèi)部類訪問局部變量必須final,如果沒有加,jdk1.8默認(rèn)加上去了
當(dāng)所使用的變量是在變的時(shí)候可以用下面的方法,也可以把下面的i在開始的時(shí)候定為靜態(tài)的

?
1
2
3
4
5
6
7
8
9
for (int i = 0; i < 5; i++) {
      final int finali = i;
      new Thread() {
        public void run() {
          System.out.println(finali);
        };
      }.start();
 
    }

下面介紹一下內(nèi)部類的實(shí)現(xiàn)技巧

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public static void main(String[] args) {
    Lam mLam = new Lam();
    //第一種實(shí)現(xiàn)的方法
    mLam.to(new Ligh() {
      @Override
      public void shin() {
        System.out.println("on的第一種方法");
      }
    });
    //第二種實(shí)現(xiàn)方法
    class MyLam implements Ligh{
 
      @Override
      public void shin() {
        System.out.println("第二種");
 
      }}
 
    mLam.to(new MyLam());
  }
}
 
interface Ligh {
  void shin();
}
 
class Lam {
  public void to(Ligh ligh) {
    ligh.shin();
    System.out.println("on");
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国内精品国产三级国产a久久 | 欧美黄色片免费看 | 一级片a| 美女久久| 国产做爰全免费的视频黑人 | 黄在线看 | 99视频网址 | 久久久久久亚洲综合影院红桃 | 国产精品久久久在线观看 | 欧美一区二区三区久久久久久桃花 | 免费a级毛片永久免费 | 日韩精品久久久久久久电影99爱 | 在线91视频| 国产精品91久久久 | 国产一区亚洲 | 中文字幕精品在线播放 | 99精品视频久久精品视频 | 成人精品免费在线观看 | 黄色网址免费在线播放 | 一级成人欧美一区在线观看 | 黄色免费高清网站 | 男女污视频在线观看 | 亚洲一区二区三区91 | 黄免费观看视频 | 欧美片一区二区 | av免费在线播放 | 成年性羞羞视频免费观看 | 日韩一级片免费 | 欧美淫视频 | 欧美另类69xxxxx 视频 | 成人在线视频国产 | 曰韩在线视频 | 日本黄色美女网站 | 4p一女两男做爰在线观看 | 日本a∨精品中文字幕在线 狠狠干精品视频 | 久久tv免费国产高清 | 精品影视一区二区 | 美女在线观看视频一区二区 | 国产一区二区三区精品在线观看 | 午夜精品成人 | 久久久久久久免费看 |