自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

每天學(xué)一點(diǎn)(內(nèi)部類)

開(kāi)發(fā) 后端
每天學(xué)一點(diǎn),今天正好學(xué)習(xí)學(xué)習(xí)內(nèi)部類,長(zhǎng)時(shí)間不用,好動(dòng)?xùn)|東忘光了??偨Y(jié)一下吧,所謂內(nèi)部類就是在類的內(nèi)部申明另一個(gè)類,因?yàn)橹挥挟?dāng)前類能夠訪問(wèn)到內(nèi)部類,所以內(nèi)部類相對(duì)來(lái)說(shuō)是非常安全的,另外內(nèi)部類可以繼承和實(shí)現(xiàn) 其他類和接口,所以可以用多個(gè)內(nèi)部類變相的實(shí)現(xiàn)多繼承(其實(shí)接口就可以模擬多繼承)。另外用內(nèi)部類可以實(shí)現(xiàn)閉包的功能。

每天學(xué)一點(diǎn),今天正好學(xué)習(xí)學(xué)習(xí)內(nèi)部類,長(zhǎng)時(shí)間不用,好動(dòng)?xùn)|東忘光了??偨Y(jié)一下吧,所謂內(nèi)部類就是在類的內(nèi)部申明另一個(gè)類,因?yàn)橹挥挟?dāng)前類能夠訪問(wèn)到內(nèi)部類,所以內(nèi)部類相對(duì)來(lái)說(shuō)是非常安全的,另外內(nèi)部類可以繼承和實(shí)現(xiàn) 其他類和接口,所以可以用多個(gè)內(nèi)部類變相的實(shí)現(xiàn)多繼承(其實(shí)接口就可以模擬多繼承)。另外用內(nèi)部類可以實(shí)現(xiàn)閉包的功能。

內(nèi)部類大概包括普通內(nèi)部類、靜態(tài)內(nèi)部類(也叫嵌套類)、匿名內(nèi)部類。下面給幾個(gè)例子

CommoneInnerClass是一個(gè)普通的內(nèi)部類、InnerClass為一個(gè)靜態(tài)內(nèi)部類、在main方法里分別為二者的創(chuàng)建訪問(wèn)方式

Java代碼

 

 

  1. package com.ec.test.innerclass;     
  2.     
  3. public class OuterClass {     
  4.     public static class InnerClass{     
  5.              
  6.     }     
  7.     public  class CommoneInnerClass{     
  8.              
  9.     }     
  10.     /**    
  11.      * @param args    
  12.      */    
  13.     public static void main(String[] args) {     
  14.         // TODO Auto-generated method stub     
  15.         //靜態(tài)內(nèi)部類的內(nèi)部創(chuàng)建     
  16.         OuterClass.InnerClass ob=new OuterClass.InnerClass();     
  17.         //靜態(tài)內(nèi)部類在內(nèi)部創(chuàng)建可以省略為如下和靜態(tài)方法調(diào)用似的     
  18.         InnerClass ob1=new InnerClass();     
  19.         //普通內(nèi)部類創(chuàng)建 需要外部類實(shí)例     
  20.         OuterClass.CommoneInnerClass obj3=new OuterClass().new CommoneInnerClass();     
  21.         //匿名內(nèi)部類的創(chuàng)建 匿名內(nèi)部類沒(méi)有名字只有一對(duì)大括號(hào)      
  22.         Thread t=new Thread(){     
  23.             public void start(){     
  24.                 System.out.println("你好啊");     
  25.             }     
  26.         };     
  27.         t.start();     
  28.         //內(nèi)部類可以模擬多繼承,實(shí)現(xiàn)類似閉包的功能,更加具有安全性,因?yàn)橹挥型獠款惒拍茉L問(wèn)內(nèi)部類     
  29.     }     
  30.     public void test(){     
  31.         new CommoneInnerClass();     
  32.     }     
  33.     
  34. }    

 

匿名內(nèi)部類、通過(guò)匿名內(nèi)部類可以模擬閉包等功能

Java代碼

 

 

  1. //匿名內(nèi)部類的創(chuàng)建 匿名內(nèi)部類沒(méi)有名字只有一對(duì)大括號(hào)      
  2.         Thread t=new Thread(){     
  3.             public void start(){     
  4.                 System.out.println("你好啊");     
  5.             }     
  6.         };    

 

靜態(tài)內(nèi)部類和普同內(nèi)部類的區(qū)別,靜態(tài)內(nèi)部類可以有靜態(tài)的屬性和方法。而普通的不行

在使用匿名內(nèi)部類時(shí),要記住以下幾個(gè)原則:

·匿名內(nèi)部類不能有構(gòu)造方法。

·匿名內(nèi)部類不能定義任何靜態(tài)成員、方法和類。

·匿名內(nèi)部類不能是public,protected,private,static。

·只能創(chuàng)建匿名內(nèi)部類的一個(gè)實(shí)例。

·一個(gè)匿名內(nèi)部類一定是在new的后面,用其隱含實(shí)現(xiàn)一個(gè)接口或?qū)崿F(xiàn)一個(gè)類。

·因匿名內(nèi)部類為局部?jī)?nèi)部類,所以局部?jī)?nèi)部類的所有限制都對(duì)其生效。

匿名類和內(nèi)部類中的中的this :

有時(shí)候,我們會(huì)用到一些內(nèi)部類和匿名類。當(dāng)在匿名類中用this時(shí),這個(gè)this則指的是匿名類或內(nèi)部類本身。

這時(shí)如果我們要使用外部類的方法和變量的話,則應(yīng)該加上外部類的類名。

【編輯推薦】

  1. Java的局部?jī)?nèi)部類以及final類型的參數(shù)和變量
  2. 沒(méi)有原生數(shù)據(jù)類型,Java會(huì)更好嗎?
  3. 20個(gè)開(kāi)發(fā)人員非常有用的Java功能代碼
  4. 走進(jìn)Java 7中的模塊系統(tǒng)
  5. 2009年十大Java技術(shù)解決方案
責(zé)任編輯:金賀 來(lái)源: JavaEye博客
相關(guān)推薦

2020-01-15 11:14:21

Java算法排序

2020-12-14 10:23:23

Java內(nèi)部類外部類

2009-07-29 09:18:49

Java內(nèi)部類

2015-07-27 09:04:33

ios9

2015-08-03 10:03:09

iosuistack vie

2022-04-06 07:14:29

區(qū)塊鏈網(wǎng)絡(luò)生態(tài)系統(tǒng)

2015-07-17 11:12:43

IOS搜索API

2015-07-21 16:43:13

IOSUI

2015-08-07 11:07:21

IOS9code covera每天積累一點(diǎn)

2010-05-20 15:29:43

優(yōu)化IIS

2015-12-08 09:05:41

Java內(nèi)部類

2016-04-05 10:12:58

HiveSQLHadoop

2013-01-08 10:06:43

創(chuàng)業(yè)創(chuàng)業(yè)方法

2011-03-29 14:11:15

內(nèi)部類

2009-12-15 14:27:30

Ruby存取器

2023-10-19 13:24:00

Java工具

2009-07-09 15:09:05

JDK卸載

2012-03-27 08:49:19

Json

2009-09-14 19:44:27

LINQ To SQL

2023-03-06 07:53:36

JavaN種內(nèi)部類
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)