12.15孔鹏曌

12.15

内部类

定义

​ 内部类是讲一个类定义在另外一个类的内部,被定义在内部的类称为内部类;

​ 外部类:包含内部类的类叫做外部类

例:

class DBHelper{//外部类
    class RowMapper0{//内部类
    }
    static class RowMapper1{
    }
}

使用内部类的意义

​ 如果一个类只在另外一个类的内部使用,不会在其他的地方使用,就可以定义内部类;

如何创建内部类的对象

​ 创建一个实例内部类对象

例:

class DBHelper{//外部类
    class RowMapper0{//内部类
        void mapper() {     
        }
    }
    static class RowMapper1{    
    }
    public static void main(String[] args) {
        DBHelper db = new DBHelper() ;
        RowMapper0 r1 = db.new RowMapper0();//创建实例内部类RowMapper0对象
        r1.mapper();
    }
}
创建静态内部类对象
class DBHelper{//外部类
    class RowMapper0{//内部类
        void mapper() { 
        }
    }
    static class RowMapper1{
        void mapper() {     
        }
    }
    public static void main(String[] args) {
//创建实例内部类RowMapper1对象
        RowMapper1 r1 = new DBHelper.RowMapper1();
        r1.mapper();
    }
}

匿名类

定义

​ 没有名称的类

表现形式

​ new 接口名(){

​ 方法实现(){

​ }

​ };

或 是

​ new 抽象类(){

​ 方法实现(){

​ }

​ }

例:

interface Factory{
    void service();
}
class Test{
    public static void main(String[] args) {
        Factory f = new Factory() {
            public void service() {
                System.out.println("service");
            }
        };
        f.service();
    }
}

​ 一般来说,匿名类是在只是用一次对象的情况下才会使用。

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1