请输入您要查询的百科知识:

 

词条 静态内部类
释义

静态内部类

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

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

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

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

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

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

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

例子:

对于两个类,拥有相同的方法:

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

{

privateclass MachineHeart implements Machine

{

publicvoid run(){System.out.println("heart run");}

}

publicvoid run(){System.out.println("Robot run");}

Machine getMachine(){returnnew MachineHeart();}

}

class Test

{

publicstaticvoid main(String[] args)

{

Robot robot=new Robot();

Machine m=robot.getMachine();

m.run();

robot.run();

}

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/4 11:27:19