Java中的内部类,就是说的一个类的内部还有别的类,正如一台电脑,电脑的内部还有别的零件,零件都有各自的属性和方法。
内部类,可以被static、final、private、protected、public修饰.
内部类又包含成员内部类和匿名内部类、私有内部类、静态内部类、方法内部类。
首先,来段代码
class Computer{
String name;
class CPU{
void print(){
System.out.println("cpu....");
}
}
}
如果,要访问CPU.class,那么写法就是
Computer.CPU cpu = new Computer().new CPU();
另外一种写法,便是
class Computer{
String name;
class CPU{
void print(){
System.out.println("cpu....");
}
}
CPU cpu = new CPU();
}
如果,要访问CPU.class,那么写法就是
Computer.CPU cpu = Computer.cpu;
如果,内部类是静态的
class Computer{
String name;
static class CPU{
void print(){
System.out.println("cpu....");
}
}
}
那么,写法就变成了
Computer.CPU cpu = new Computer.CPU();
//访问print
cpu.print();
//如果,print被static修饰,变成静态方法
//可以通过类名访问,即 Computer.CPU.print();
匿名内部类的写法如下
abstract class CPU{
abstract void work();
}
class Computer{
public void print(){
new CPU(){
@Override
void work(){
//....
}
}
}
}