内部类(Inner Class),内部类共分为4种。
1.静态内部类(static inner class):只能访问外部类的静态成员变量与静态方法,生成
静态内部类对象的方式为:
OuterClass.InnerClass inner = new OuterClass.InnerClass();
2.成员内部类(member inner class):可以访问外部类的静态与非静态的方法与成员变
量。生成成员内部类对象的方式为:
OuterClass.InnerClass inner = new OuterClass().new InnerClass();
若想在局部内部类中访问外部类的成员变量,语法为:OuterClass.this.a;
3.局部内部类(Local Inner Class):定义在方法当中,只能访问方法中声明的final类型
的变量。
4.匿名内部类(Anonymous Inner Class):没有类名称的局部内部类;匿名内部类会隐式地继承一个父类或实现一个接口。
静态内部类和成员内部类比较简单在此就不举例了。
局部内部类代码示例:
package com.lfl.innerclass; class LocalInner { private int a = 3; public void doSomething() { final int i = 5; class Inner3 { public void test() { System.out.println(i); System.out.println(a); go(); } } new Inner3().test(); } public static void go() { System.out.println("hello"); } } public class LocalInnerClassTest { public static void main(String[] args) { LocalInner inner = new LocalInner(); inner.doSomething(); } }
匿名内部类代码示例:
package com.lfl.innerclass; import java.util.Date; public class AnonymousInnerClassTest { public String get(Date date) { return date.toLocaleString(); } public Object getObject() { return new Object() { public String toString() { System.out.println("hello world2"); return "hello"; } }; } public static void main(String[] args) { AnonymousInnerClassTest inner = new AnonymousInnerClassTest(); // non anonymous innerclass String date = inner.get(new Date()); System.out.println(date); //anonymous innerclass String str = inner.get(new Date() { public String toLocaleString() { return "hello world"; } }); System.out.println(str); Object obj = inner.getObject(); String s = obj.toString(); System.out.println(s); } }
相关推荐
java内部类详解
从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。...本文档讲述Java内部类的规则及应用
匿名内部类详解.pdf
java类修饰词和内部类详解java类修饰词和内部类详解
iptables详解及举例,可以充分的了解linux防火墙的配置和维护。
内部类详解,帮助学习Java的同学更好的理解相关知识点。
内部类详解--Java
Java内部类详解.pdf
java内部类详解共10页.pdf.zip
非常精简的匿名内部类详解
内部类详解,看了他就不用看其他资料了,内部类详解,看了他就不用看其他资料了,内部类详解,看了他就不用看其他资料了
主要介绍了JAVA 内部类详解及实例的相关资料,需要的朋友可以参考下
JAVA CLASS内部类,嵌套类等
内部类在 Java 里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于 Java 中内部类的相关知识点和一些使用内部类时需要注意的点。
主要介绍了Java中的静态内部类详解及代码示例,具有一定参考价值,需要的朋友可以了解下。
详解举例说明增值税专用发票和增值税普通发票的区别.docx
共同学习,共同进步,希望对有需求的人能有帮助,大家好才是真的好!
PING命令入门详解
这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields...
好不淘来的Linux常用函数及中文详解和例子。