> 教育经验 > 什么是静态内部类介绍

什么是静态内部类介绍

什么是静态内部类介绍

Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。

静态内部类简介

静态内部类

静态内部类定义在类中,任何方法外,用static定义。

静态内部类只能访问外部类的静态成员。

生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:

Outer.Inner in=new Outer.Inner();

而不需要通过生成外部类对象来生成。这样实际上使静态内部类成为了一个顶级类。可以定义私有静态内部类。

静态内部类注意

当类与接口(或者是接口与接口)发生方法命名冲突的时候,此时必须使用内部类来实现。

用接口不能完全地实现多继承,用接口配合内部类才能实现真正的多继承。

静态内部类举例

对于两个类,拥有相同的方法:class People{    run();}interface Machine{    run();}此时有一个robot类:class Robot extends People implement Machine.//此时run()不可直接实现。interface Machine{    void run();}class Person{    void run(){        System.out.println(\"run\");    }}class Robot extends Person{private class MachineHeart implements Machine{    public void run(){        System.out.println(\"heart run\");    }}public void run(){    System.out.println(\"Robot run\");}Machine.getMachine(){    return    new MachineHeart();}class Test{    publicstaticvoid main(String args){        Robot robot=new Robot();        Machine m=robot.getMachine();        m.run();        robot.run();    }}

通辽教育网