内部类特性

阅读量: 4 编辑

一、内部类的特性

1、类的名字只能在定义的范围内使用,除非使用有效的全名;

2、Inner class 可以声明为抽象类 ,因此可以被其它的内部类继承,也可以声明为final的;

3、Inner class 可以声明为static的,但此时就不能再使用外层封装类的非static的成员变量;

4、非static内部类中的成员不能声明为static的,只有在static的内部类中才可声明static成员;

5、Inner 类也可以定义在方法的内部,一般不这么写;

二、编程实战

代码的详细解读,可以参考视频教程

/**
 * User: 祁大聪
 */
public class Outer {

    private int age;

    //普通内部类
    public class Inner{
        public void doGrow(){
            age++;
        }
    }

    //静态的内部类
    public static class StaticInner{
        private static int height;
        public void doGrow(){
            //这里没有this
//            age++;
        }
    }

    //内部类也可以继承
    public abstract class SubInner extends Inner{

    }

    public void testInner(){
        Inner inner = new Inner(); //这里不需要写内部类的全路径
    }

    public static void main(String[] args) {
        Outer.Inner inner = new Outer().new Inner();
    }
    
}

爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司