美文网首页Monkey Java
课程7.2之内部类和匿名内部类

课程7.2之内部类和匿名内部类

作者: GitOPEN | 来源:发表于2015-08-05 14:04 被阅读69次

转发请注明出处:
安卓猴的博客(http://sunjiajia.com)


本节课程将学习以下内容:

  • 什么是内部类
  • 内部类的使用方法
  • 匿名内部类的使用方法

什么是内部类

含义:

一个类定义在另一个类内部。

例子1:

1.新建一个名为A.java的源文件:

class A {

    int i;

    // B类就是内部类
    class B {
        int j;
        int funB(){
            // 内部类B可以使用外部类A的成员变量和成员方法
            int result = i + j;
            return result;
        }
    }
}

注意:

在编译A.java源文件后,会生成两个class文件,即A.class和A$B.class。

内部类的使用方法

  • 要生成一个内部类对象,首先要有一个外部类对象。

例子2:

1.新建一个名为Demo01.java的源文件:


class Demo01 {
    public static void main(String[] args) {
        // 生成外部类的对象
        A a = new A();

        // 生成内部类的对象
        A.B b = new A().new B();

        a.i= 3;
        b.j = 1;

        int result = b.funB();
        System.out.println(result);

    }
}

匿名内部类

  • 首先是一个内部类
  • 其次它没有名字

例子3:

1.新建一个名为C.java的源文件:


interface C {
    public void doSomething();
}

2.新建一个名为D.java的源文件:

class D {
    public void fun(C c){
        System.out.println("D类的fun函数");
        c.doSomething();
    }
}

3.新建一个名为Demo02.java的源文件:


class Demo02 {
    public static void main(String[] args) {
        D d = new D();
        // fun括号中就是匿名内部类
        d.fun(new C(){
            public void doSomething() {
                System.out.println("匿名内部类");
            }
        });
    }
}

相关文章

  • 课程7.2之内部类和匿名内部类

    转发请注明出处:安卓猴的博客(http://sunjiajia.com) 本节课程将学习以下内容: 什么是内部类 ...

  • java之内部类(InnerClass)详解

    参考文章 java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • Java 内部类

    内部类包括成员内部类、方法内部类、*静态内部类、匿名内部类*。 内部类的作用 由于内部类的实现和外部类没有关系,内...

  • 用于匿名内部类的泛型

    匿名内部类 泛型还可以使用于内部类和匿名内部类。 上面的Customer和Teller都通过使用匿名内部类实现了G...

  • Java匿名内部类

    导语 学完匿名内部类就懂的情书。 主要内容 接口与抽象类和匿名内部类的关系 具体内容 匿名内部类也就是没有名字的内...

  • Java 内部类、静态内部类、方法内部类(未完待续)

    内部类 什么是内部类?内部类其实就是在一个类中创建的类。内部类有四种: 成员内部类 静态内部类 局部内部类 匿名内...

  • 技术问 - 匿名内部类

    匿名内部类 匿名内部类的格式 匿名内部类的本质是什么? 代码: 匿名内部类在开发中使用: 看结果写代码

  • 内部类

    内部类 静态内部类 成员内部类 匿名内部类

  • 面试官:谈谈你对Java内部类的理解?

    java中的内部类可以分为普通内部类(成员内部类),静态内部类,局部内部类和匿名内部类。 成员内部类 成员内部类就...

网友评论

本文标题:课程7.2之内部类和匿名内部类

本文链接:https://www.haomeiwen.com/subject/cxavqttx.html