Java内部类

2021-01-20  本文已影响0人  报告老师

嵌套类实际上就是类中类的意思,可以看作外部类的一个成员,分为非静态内部类,静态内部类,匿名内部类,局部类

下面一个例子展示了除局部类的三种类的使用方法

public class ClassTest{

static String valout="aaaa";

class Inner1{

public int a=1;

public void method1(){

System.out.println("this is inner method");

}

}

class Inner2{

public String valin="bbSbb";

public void printValout(){

System.out.print("vaout:"+valout);

}

}

static class Inner3{

public static String valin="bbSbb";

public static void printValout(){

System.out.print("vaout:"+valout);

}

}

public static void main(String[]args){

ClassTest ct=new ClassTest();

//调用内部类Inner1

Inner1 In1=ct.newInner1();

In1.method1();

//使用匿名内部类的方法调用Inner2的printValout方法

Inner2 in2=ct.newInner2(){

@Override

public void printValout(){

System.out.println("nimingneibuleifangfa");

}

};

in2.printValout();

//直接调用静态内部类Inner3里的printValout方法

Inner3.printValout();

}

}

1.非静态内部类的调用需要先实例化外部类,才能使用外部类的对象去实例化内部类,从而调用内部类的方法

2.静态内部类,只要内部类被修饰为静态,则该内部类的级别就被升级为顶级,能够使用类名.成员这种方式访问成员方法或变量,可以看成是一个外部类了,因为可以直接通过new实例化对应的对象

3.匿名内部类可以是看成对接口或者类的实现和继承,使用匿名内部类实现接口或者继承类会立即创建一个对象,但该对象无法复用,这种对象是一次性的。

4.内部类可以无条件访问外部类的成员变量或方法,包括私有的。

上一篇 下一篇

猜你喜欢

热点阅读