java中内部类的创建四种情况,三种方式,及内部数据访问权限
来源:互联网 发布:stewart mac 编辑:程序博客网 时间:2024/06/05 07:37
尊重原创,文章原地址:http://blog.csdn.net/chunlei_zhang/article/details/38391847
内部类和外部类的关系,及内部静态类的数据访问权限,声明方式。
第一种,在外部类内部声明使用内部类,内部类的类型为static和非 static类型,内部类数据类型为private,protected,public 类型的访问权限。外部类为非静态声明和权限如下:
package com;public class Test1 {//@author 张春蕾private class Name{private int i =1;public int s = 2;protected int m =3;}public static void main(String[] args){Test1 test = new Test1();<span style="color:#ff0000;">Test1.Name name = test.new Name();System.out.print(name.i);</span>System.out.print(name.s);System.out.print(name.m);}}声明方式,而且所有的内部参数不论什么都可以输出。当内部类为静态类时,声明方式会发生变化:
package com;public class Test1 {//@author 张春蕾private static class Name{private int i =1;public int s = 2;protected int m =3;}public static void main(String[] args){Test1 test = new Test1();<span style="color:#ff0000;">Test1.Name name = new Name();</span>System.out.print(name.i);System.out.print(name.s);System.out.print(name.m);}}上面的方式都是在Test1的内部进行访问,现在外部的Test2力访问情况为第二种,当内部类为非静态的时候的声明方式:
package com;public class Test1 {//@author 张春蕾<span style="color:#33cc00;">protected</span> class Name{private int i =1;public int s = 2;protected int m =3;}public static void main(String[] args){Test2 t = new Test2();t.test();}}class Test2{public void test(){<span style="color:#009900;">Test1 test = new Test1();Test1.Name name = test.new Name();//跟第一种情况一样System.out.println(name.m);System.out.print(name.s);</span>}}
</pre><p></p><pre>跟第一种的非静态内部类的声明方式相同,不过不能访问内部静态变量,当内部类为静态时,访问形式:
package com;public class Test1 {//@author 春蕾<span style="color:#33cc00;">protected</span> static class Name{private int i =1;public int s = 2;protected int m =3;}public static void main(String[] args){Test2 test2 = new Test2();test2.test();}}class Test2{public void test(){<span style="color:#009900;">Test1.Name name2 = new Test1.Name();System.out.print(name2.m);System.out.print(name2.s);</span>}}
0 0
- java中内部类的创建四种情况,三种方式,及内部数据访问权限
- 内部类的四种情况
- java内部类(1):java内部类的创建以及对外提供的访问方式,匿名内部类详解
- Java匿名内部类的创建及访问域
- 内部类的四种实现方式
- Java中使用匿名内部类创建多线程的3种方式
- [置顶]Java中 实现多线程成的三种方式(继承,实现,匿名内部类)
- Java进阶(四十二)Java中多线程使用匿名内部类的方式进行创建3种方式
- Java 内部类的访问方式
- java中匿名内部类的两种实现方式
- java中匿名内部类的两种实现方式
- 通过反射来构造内部类的三种情况
- java内部类的创建方式
- 内部类的访问权限
- JAVA多线程实现的三种方式及内部原理
- JAVA多线程实现的三种方式及内部原理
- JAVA多线程实现的三种方式及内部原理
- 《java中内部类在局部时,访问权限》
- 输入密码回显星号 -- C语言
- Hibernate_3_客户实例_数据库中自动生成主从表
- struts2自定义类型转换器
- hdu 4915 Parenthese sequence(高效)
- 重装Ubuntu 保留/home分区中的数据
- java中内部类的创建四种情况,三种方式,及内部数据访问权限
- 深拷贝 和 浅拷贝
- 【java】Integer == Integer?
- Codeforce 22B Bargaining Table
- log4cplus 日志应用
- c++学习——第一天
- 中断控制器及中断控制
- CSDN见证了我的成长
- 與 Roy Osherove 探討單元測試的藝術 (心得筆記)