内部类

作者: tdeblog | 来源:发表于2016-08-08 16:14 被阅读0次

1.创建内部类#

直接在另一个类内部实现一个类,这个类与外部类是相互独立的,并且可以随意的调用外部类的成员方法和成员变量。

2.使用.this与.new#

    public class Inner {
        public Pacle9 outer() {
            return Pacle9.this;
            //使用this返回外部类对象
        }

        public void f(){
            System.out.println("fi");
        }
    }

    public Inner inner() {
        return new Inner();
    }
    public static void main(String args[]){
        Pacle9 p = new Pacle9();
        Pacle9.Inner i = p.inner();
        Pacle9.Inner i1 = p.new Inner();
        //使用.new关键字创建内部类对象
        i1.f();
        i.outer().f();
    }
}

3.方法和作用域内内部类#

内部类可以定义在方法和作用域内如"{}"内或者"if(exp){}"内。

4.匿名内部类#

public class Pacle10 {
    public Contents contents(final float dest, final String cont) {
        //内部类中使用常量
        //返回一个匿名内部类
        return new Contents() {
            private int cost;
            private String c = cont;
            {
                //相当于构造函数
                cost = Math.round(dest);
                if(cost > 100)
                    System.out.println("ok!");
            }
            @Override
            public int value() {
                return cost;
            }
        };
    }
    public static void main(String args[]){
        Pacle10 p = new Pacle10();
        Contents c = p.contents((float) 109.5, "hehe");
        System.out.print(c.value());
    }
}

5.嵌套类#

在内部类之前加static关键字,则为嵌套内部类,与内部类区别为使用.this不能获得外部类的引用。内部类在构建时会自动的与外部类关联,嵌套类没有这种关联机制。

6.内部类的意义#

实现了多继承。通过在一个类内部实现多个继承自不同抽象类的类,即可以实现这个类的多继承。

相关文章

  • 内部类

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

  • Java 内部类

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

  • Java学习——内部类

    内部类 一,成员内部类(包括静态内部类和非静态内部类) 非静态内部类可以直接访问外部类的成员,反之则不行 非静态内...

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

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

  • java 内部类

    一般有四种内部类的使用方式: 嵌套的内部类 方法内的内部类 静态内部类 匿名内部类 什么时候用内部类: 有时候明显...

  • 内部类

    内部类 1.可以访问访问其外部类所有属性和方法,无需创建外部类对象 2.必须创建内部类对象,否则无法从外部类访问内...

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

  • java——内部类

    内部类 定义: 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内...

  • java之面向对象5

    方法内部类: 简而言之就是定义在外部类的方法内的类。 方法内部类只在该方法的内部可见,即只在该方法内可以使用。 方...

  • Java 内部类

    1. 内部类 概念:在一个类的内部再定义一个完整的类内部类分为 4 类:成员内部类、静态内部类、局部内部类、匿名内...

网友评论

      本文标题:内部类

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