Java学习笔记(三):内部类

it2022-05-05  187

1. 成员内部类

在类内的类,访问权限一般设置为private,防止外界直接访问

内部类可以访问外部类成员,包括私有

外部类访问内部类,需要先创建内部类对象

public class Outer { private int i=1; public void funOut(){ Inner1 inner1=new Inner1();//外部类访问内部类,需要创建其对象 inner1.funIn(); } private class Inner1{ //内部类一般设置为私有,不让外界直接访问 public void funIn(){ System.out.println("成员内部类"+i);//内部类可以直接访问外部类的成员,包括私有 } } } Outer outer=new Outer(); outer.funOut();

 

2. 局部内部类

局部内部类写在方法内部,外界无法直接访问

public class Outer { private int i=1; public void fun1(){ class Inner2{ //方法内的内部类,外界无法直接访问 public void funIn(){ System.out.println("局部内部类"+i); } } //调用 Inner2 inner2=new Inner2(); inner2.funIn(); } } Outer outer=new Outer(); outer.fun1();

 

3. 匿名内部类

匿名内部类:实现了该接口(或继承了该类的子类匿名对象)

前提:有一个接口或一个类(类多为抽象类)

public interface InterShow { int j=0; void show(); } public static void main(String[] args) { //匿名内部类:多态形式创建对象 InterShow interShow=new InterShow(){ @Override public void show() { System.out.println("匿名内部类"+j); } }; //输出 interShow.show(); }

 

 

 

 


最新回复(0)