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();
}
}
注
一般来说,匿名类是在只是用一次对象的情况下才会使用。
近期评论