美文网首页
匿名类和内部类

匿名类和内部类

作者: Blessure_d95b | 来源:发表于2018-10-05 23:30 被阅读0次

    根据内部类的位置不同,可将内部类分为

    1. 成员内部类
    2. 局部内部类
    class C{
        //成员内部类
        class B{
        }
    
        public void show1() {
        //局部内部类
            class D{
            }
        }
    }
    

    匿名内部类

    1. 概念:即内部类的简化写法
    2. 前提:存在一个类(可以是具体类也可以是抽象类)或接口
    3. 格式:new 类名或接口名{重写的方法}
    4. 本质:创建的是继承了类或实现了接口的子类匿名对 象。

    Java语言规范上是这么描述匿名类的:

    匿名类的声明:

    • 匿名类的声明是由java编译器自动派生自一个类实例创建表达式。
    • 匿名类永远不能是抽象的。
    • 匿名类总是隐式的final。
    • 匿名类总是一个内部类;并且不能是static的。

    匿名内部类在开发中的使用,一般是方法参数为接口的情况

    interface D{
        void ShowContext();
    }
    class B{
        //参数为接口对象
        public void show(D d) {
            d.ShowContext();
        }
    }
    
    public class niming {
        public static void main(String[]args) {
            B b=new B();
            //调用时使用匿名类创建匿名对象
            b.show(new D(){
                @Override
                public void ShowContext() {
                    System.out.println("hello");
                }
            });
        }
    }
    

    相关文章

      网友评论

          本文标题:匿名类和内部类

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