Java内部类总结
来源:互联网 发布:银魂cos淘宝 编辑:程序博客网 时间:2024/06/06 00:53
0. 概要
1. 内部类的几种形式
1.1 普通内部类
class Outter1 { private String firstname = "outfirstname"; // 普通内部类 class Inner1 { private String name = "in1"; public void inPrint() { String name = "inprint"; System.out.println("方法局部变量访问:" + name); System.out.println("内部类成员变量访问:" + this.name); System.out.println("外部类普通成员变量访问:" + Outter1.this.firstname); } }}
public class InnerClassDemo1 { public static void main(String[] args){ System.out.println("========这是普通内部类!========"); Outter1.Inner1 in1 = new Outter1().new Inner1(); in1.inPrint(); }}
========这是普通内部类!========方法局部变量访问:inprint内部类成员变量访问:in1外部类普通成员变量访问:outfirstname
1.2 静态内部类
1.3 方法内部类
2. 内部类之Demo
2.1 Demo源码
package com.yizhou.InnerClass;/** * Created by dongyizhou on 2017/4/5. */class Outter { private String firstname = "outfirstname"; private static String secondname = "outsecondname"; // 普通内部类 class Inner1 { private String name = "in1"; public void inPrint() { String name = "inprint"; System.out.println("方法局部变量访问:" + name); System.out.println("内部类成员变量访问:" + this.name); System.out.println("外部类普通成员变量访问:" + Outter.this.firstname); } } // 静态内部类 static class Inner2 { private String name = "in2"; public void inPrint() { String name = "inprint"; System.out.println("方法局部变量访问:" + name); System.out.println("内部类成员变量访问:" + this.name); System.out.println("外部类成员变量访问:" + new Outter().firstname); System.out.println("外部类静态成员变量访问:" + Outter.secondname); } } // 方法内部类 public void outPrint(final String str){ class Inner3 { private String name = "in3"; public void inPrint(){ System.out.println("方法局部变量访问" + str); System.out.println("内部类成员变量访问" + name); } } new Inner3().inPrint(); }}public class InnerClassDemo { public static void main(String[] args){ System.out.println("========这是普通内部类!========"); Outter.Inner1 in1 = new Outter().new Inner1(); in1.inPrint(); System.out.println("\n"); System.out.println("========这是静态内部类!========"); Outter.Inner2 in2 = new Outter.Inner2(); in2.inPrint(); System.out.println("\n"); System.out.println("========这是方法内部类!========"); Outter outter = new Outter(); outter.outPrint("outPrint"); System.out.println("\n"); }}
2.2 Demo输出
========这是普通内部类!========方法局部变量访问:inprint内部类成员变量访问:in1外部类普通成员变量访问:outfirstname========这是静态内部类!========方法局部变量访问:inprint内部类成员变量访问:in2外部类成员变量访问:outfirstname外部类静态成员变量访问:outsecondname========这是方法内部类!========方法局部变量访问outPrint内部类成员变量访问in3
3. 附件和文献
3.1 附件
源码:ArrayListMultimapTest
3.2 文献
0 0
- java内部类总结
- Java内部类总结
- java内部类总结
- java内部类总结
- java内部类总结
- Java内部类总结
- java内部类总结
- Java内部类总结
- Java内部类总结
- Java内部类总结
- Java内部类总结
- Java内部类总结
- Java内部类总结
- Java内部类总结
- Java内部类总结
- java内部类总结
- java 内部类总结
- Java内部类总结
- 蓝桥杯基础练习BASIC-14 时间转换
- ES6的Fetch异步请求
- 汉诺塔问题(递归算法)
- 链表求和
- No.7_2 OpenCL 同步——事件回调函数
- Java内部类总结
- 欢迎使用CSDN-markdown编辑器
- Litepal使用详解
- INSTALL_FAILED_USER_RESTRICTED错误 It is possible that this issue is resolved by uninstalling an exis
- python全局变量的使用
- Node 的模块化思想
- 初学C#--5
- 应用Grunt进行CSS压缩
- 7. Reverse Integer