Java中的内部类

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(){
          //....
        }
      }
   }
}

你可能感兴趣的:(java,java)