国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

內部類

2019-11-06 06:12:00
字體:
來源:轉載
供稿:網友

內部類的概念:一個類定義在另外一個類的內部,該類叫做內部類。

內部類的分類:

   1.成員內部類

    2.局部內部類

    3.靜態內部類.

    4.匿名內部類

成員內部類:

作為外部類的一個實例成員

外部類.內部類  對象名=外部類對象.new  內部類();

一個類對應一個字節碼文件,一個內部類會產生一個字節碼文件

內部類可以使用修飾符,成員內部類只能定義實例成員。

以下是例子:

package inner;public class Outer {int a=2;void test1(){}class inner{int r=9;int b=3;void test3(){}void test2(){}}}

package inner;public class TestInner {  public static void main(String[] args) {  Outer out = new Outer();  out.a=3;  out.test1();    Outer.inner inner = out.new inner();  inner.b=3;     }} 

局部內部類:定義在方法或代碼塊中的類

例子如下:

package inner;public class Out2 {int a;public void test1() {// TODO Auto-generated method stub}public void s(){class inner2{int a,b;public void test1(){}}inner2 in2 = new inner2();}}

靜態內部類:定義在類成員位置的并用static修飾的類

例子如下:

package inner;public  class Out3 {static int a=7;public static class inner3{int b=9;//static int a =11;public static  void function() {// TODO Auto-generated method stub                  System.out.PRintln("lllll");}    void fun(){    }}package inner;public class Testinner3 {public static void main(String[] args) {Out3 out = new Out3();out.a=9;    Out3.inner3.function();  }}

匿名內部類:

1.繼承一個父類(一般為抽象類),或實現一個接口

2.沒有名字

3.定義時立即使用,有且僅能使用一次

測試代碼如下:

package inner;public interface I {  void test1();}

package inner;public abstract class A {  public abstract void test2();}

package inner;public class Test1 {public static void main(String[] args) {   new I(){  @Overridepublic void test1() {System.out.println("我是test1");}   }.test1();          new A() {@Overridepublic void test2() {System.out.println("我是test2");}}.test2();}   }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 香河县| 麟游县| 沙田区| 郑州市| 博乐市| 徐闻县| 湟源县| 都安| 日照市| 贺州市| 隆安县| 连云港市| 黄平县| 外汇| 鸡泽县| 华安县| 资源县| 北川| 金川县| 民和| 吐鲁番市| 建阳市| 丹阳市| 唐河县| 逊克县| 博客| 林州市| 镇沅| 松原市| 普陀区| 高密市| 延川县| 崇义县| 乡城县| 西畴县| 广宁县| 阿克苏市| 丹棱县| 吉隆县| 光泽县| 宜兰县|