Java中的四种内部类,我们可以想象成一个家庭里的不同成员,每个成员都有其特殊的角色:
成员内部类(Member Inner Class) - 就像家里的孩子,它们属于家庭(类),并且可以在家里(类)的任何地方出现。它们可以访问家里的所有资源,包括私有的。
public class OuterClass {
private String secret = "I am a secret!";
public class InnerClass {
public void revealSecret() {
System.out.println("The secret is: " + secret);
}
}
public void testInner() {
InnerClass inner = new InnerClass();
inner.revealSecret();
}
}
静态内部类(Static Nested Class) - 类似于家庭中的宠物,虽然它们也是家的一部分,但它们不直接依赖于家庭成员(外部类实例)。宠物有自己的空间,不需要与主人共享一切。
public class OuterClass {
public static class StaticNestedClass {
public static String sharedInfo = "I am shared info!";
}
public void testStaticInner() {
StaticNestedClass staticInner = new StaticNestedClass();
System.out.println(staticInner.sharedInfo);
}
}
局部内部类(Local Inner Class) - 相当于家人邀请的朋友,只存在于某次聚会(方法)中,外面的人不认识他。一旦聚会结束,他就消失了。
public class OuterClass {
public void method() {
class LocalInnerClass {
public void sayHello() {
System.out.println("Hello from the local inner class!");
}
}
LocalInnerClass localInner = new LocalInnerClass();
localInner.sayHello();
}
}
匿名内部类(Anonymous Inner Class) - 想象成家里的神秘访客,没有名字,只有行为。他们来了,做了些事情,然后就消失在夜色中。
public class OuterClass {
public void useAnonymousInner() {
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Running...");
}
};
runnable.run();
}
}
相关知识
+=的特殊效果,常量的赋值和变量的赋值,什么是javabean
java学习练习题
JAVA编程不得不看的几本经典书籍
Java 中 == 和 equals() 区别
Java中short,byte使用>>>的问题
Java中常见的问题,以及相应的解决方法
狗狗常见的五种耳朵疾病,四种发生疾病的原因、四种护理妙方
Java面向对象
java中a=3b=4c=3比大小,JAVA程序设计试卷3
如何在 Java 中进行日志记录
网址: Java中的四种内部类 https://m.mcbbbk.com/newsview432472.html
上一篇: 《中国0-6岁儿童家庭教养中父母 |
下一篇: 不认识护卫三剑客,你还敢说喜欢护 |