Java中的代码块,内部类

2019-08-11  本文已影响0人  小石头呢

代码块

1.概念

Java中用{ }括起来的代码段就是代码块,类里面可以有多个代码块,执行顺序和出现的先后顺序相同,尽量不要在类里面写多个代码块。

2.类型

3.执行时间

对象调用方法的时候先检查类中是否有静态代码块,先执行静态代码块,再检查是否有构造代码块,最后执行构造方法

4.注意:

内部类

1.概念

内部类就是在一个类内部进行其他类结构的嵌套操作,我们可以在外部类声明一个内部类类型的属性变量,从而访问内部类属性。

2.优点

3.内部类在继承方面的问题

4.创建内部类

4.1在外部类外部 创建非静态内部类

4.2在外部类外部 创建静态内部类

4.3在外部类内部创建内部类语法

5.内部类的分类

5.1成员内部类

class Outer {
    private String name = "test";
    public  static int age =20;

    class Inner{
        public static int num =10;
        public void fun(){
            System.out.println(name);
            System.out.println(age);
        }
    }
}

5.2静态内部类

class Outer {
    public String name = "test";
    private static int age =20;

    static class Inner{
        private String name;
        public void fun(){
            System.out.println(name);
            System.out.println(age);
        }
    }
}

5.3方法内部类

class Outer{
    private int num =5;
    //普通方法
    public void dispaly(int temp){
        //方法内部类即嵌套在方法里面
        class Inner{
            public void fun(){
                System.out.println(num);
                temp++;
                System.out.println(temp);
            }
        }
        //方法内部类在方法里面创建
        new Inner().fun();
    }
}

5.4匿名内部类

//匿名内部类
//声明一个接口
interface MyInterface {
    //接口中方法没有方法体
    void test();
}
class Outer{
    private int num = 5;
    public void dispaly(int temp){
        //匿名内部类,匿名的实现了MyInterface接口
        //隐藏的class声明
        new MyInterface(){
            public void test(){
                System.out.println("匿名实现MyInterface接口");
                System.out.println(temp);
            }
        }.test();
    }
}
上一篇下一篇

猜你喜欢

热点阅读