Java内部类的定义及在外部使用的方法
来源:互联网 发布:买电影票的软件 编辑:程序博客网 时间:2024/05/16 18:14
1、静态内部类
public class Outer {static class StaticInner{public void show() {System.out.println("StaticInner");}}public static void main(String[] args) {Outer.StaticInner inner = new Outer.StaticInner();inner.show();}}
public class Outer {class MemberInner{public void show() {System.out.println("MemberInner");}}public static void main(String[] args) {Outer outer = new Outer();Outer.MemberInner inner = outer.new MemberInner();inner.show();}}
3、静态内部类访问嵌套它的外部类的静态成员
public class Outer {private static int sa = 5;private int ia = 10;static class StaticInner{public void show() {//静态内部类可以访问嵌套它的外部类的静态成员System.out.println("Outer's sa = " + sa);//Error。静态内部类不能访问嵌套它的外部类的实例成员//System.out.println("Outer's ia = " + ia);}}public static void main(String[] args) {Outer.StaticInner inner = new Outer.StaticInner();inner.show();}}
4、实例内部类访问嵌套它的外部类的成员
public class Outer {private static int sa = 5;private int ia = 10;class MemberInner{public void show() {System.out.println("Outer's sa = " + sa);System.out.println("Outer's ia = " + ia);}}public static void main(String[] args) {Outer outer = new Outer();Outer.MemberInner inner = outer.new MemberInner();inner.show();}}
5、内部类跟嵌套它的外部类属性重名时的访问方法
public class Outer {private static int sa = 1;private int ia = 2;static class StaticInner{private static int sa = 10;private int ia = 20;public void show() {System.out.println("From StaticInner: Outer's sa = " + Outer.sa);System.out.println("From StaticInner: StaticInner's ia = " + ia);}}class MemberInner{//Error。实例内部类中不能有非常量的静态属性//private static int ta = 1000;private static final int ta = 100;private int ia = 200;//Error。实例内部类中也不能有静态的方法/*public static void nothing() {}*/public void show() {System.out.println("From MemberInner: Outer's sa = " + Outer.sa);System.out.println("From MemberInner: Outer's ia = " + Outer.this.ia);System.out.println("From MemberInner: MemberInner's sa = " + MemberInner.ta);System.out.println("From MemberInner: MemberInner's ia = " + this.ia);}}public static void main(String[] args) {Outer.StaticInner si = new Outer.StaticInner();si.show();Outer.MemberInner mi = new Outer().new MemberInner();mi.show();}}
6、方法中定义的内部类
public class Outer {private static String staticOuterMsg = "static outer message";private String memberOuterMsg = "member outer message";public void show(String argMsg) {String normalLocalMsg = "normal local message";final String finalLocalMsg = "final local message";class Inner{public void print() {System.out.println(staticOuterMsg);System.out.println(memberOuterMsg);System.out.println(finalLocalMsg);//Error。方法中的内部类只能访问final局部变量//System.out.println(normalLocalMsg);//Error。方法中的内部类只能访问final局部变量。//System.out.println(argMsg);}}new Inner().print();}public static void main(String[] args) {new Outer().show("argument message");}}
阅读全文
0 0
- Java内部类的定义及在外部使用的方法
- java静态内部类和非静态内部类,及他们在外部的定义
- 在Java内部类中使用外部类的成员方法以及成员变量
- 在Java内部类中使用外部类的成员方法以及成员变量
- 在Java内部类中使用外部类的成员方法以及成员变量
- 匿名内部类实现多线程,内部类调用外部方法中定义的变量
- 内部类的定义方法
- JAVA - - - - 内部类的方法(外部调用内部类的方法)
- 使用外部类调用内部类的方法和变量
- Java内部类访问外部对象的方法
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- JAVA内部类使用,什么时候该使用内部类及使用内部类的好处
- 更新安全补丁后无法读取查询导入Excel问题解决说明书
- CSS实现垂直居中和水平居中
- 从Cassandra到分布式存储系统-目录
- 章节8 支持的操作系统
- 【LeetCode 21】Merge Two Sorted Lists(Python)
- Java内部类的定义及在外部使用的方法
- 34岁!100天!学会Java编程(Day16-Day19)—MySQL与JDBC编程
- 合唱团
- Python爬虫知识点二
- 章节9 性能和资源使用
- CentOS安装Chrome及Please start Google Chrome as a normal user. To run as root, you must specify an ...
- AUC理解与实现
- Top 10 Machine Learning Algorithms for Beginners
- 面试技巧