内部类、内部接口
来源:互联网 发布:如何调用数组方法 编辑:程序博客网 时间:2024/06/06 03:10
/**/非静态内部类的使用示例(展示内部类与外部类,内部类与内部类之间的访问形式)**public class Outer { //一个文件中只能有一个public的一级类,但它内部的类还是可以public的。private int size;public class Inner{ //可理解为外部类的一个成员,跟一个方法一样。 (对象级)private int counter=10;//private int size;public void doStuff(){size++; //外部类传给内部类的形参,如果内部类中没有定义size,则访问的是外部类的size//this.size++; //内部类中的变量size,若内部类中没有定义,则语法错误//Outer.size; //这种方式的访问是错误的Outer.this.size++;//外部类的size}}public class Inner2{ // (对象级,同是非静态兄弟内部类之间的访问方式)public void doStuff(){Inner t = new Inner();////第二个内部类中,调用第一个内部类。(就象直接方向一样,直接调用。)System.out.println(t.counter);}}public static class Inner3{ //静态类跟静态方法的用法类似 (类级,在静态内部类中访问非静态兄弟内部类)int num=5;public void doStuff(){//Inner tt = new Inner(); //错。原因跟类中的方法一样,静态成员方法无法直接访问非静态成员Outer outer = new Outer();Inner inner = outer.new Inner(); System.out.println(inner.counter);}}public static void main(String[] args) {Outer outer = new Outer();Inner inner = outer.new Inner(); //必须通过外部类对象.new 来构造内部类对象inner.doStuff();System.out.println(outer.size);//System.out.println(counter);//编译错误,外部类不能直接访问内部类的private变量System.out.println(inner.counter);//但通过内部类对象可以,就象通过类的方法访问其私有成员变量一样//System.out.println(inner.size);Inner2 inner2 = outer.new Inner2();inner2.doStuff();}}class TT{public static void main(String[] args) {Outer out = new Outer();Outer.Inner outerInner = out.new Inner();//Outer.Inner outerInner = new Outer.Inner(); //错//Outer.Inner outerInner = Outer.new Outer.Inner(); //错//Outer.Inner outerInner = Outer.new Inner(); //错outerInner.doStuff();}}--------------------------------------------------------//静态内部类的使用示例(展示如何在一个类中访问另一个类中的静态内部类)class Outer2 {private static int size;static class Inner{ //可理解为外部类的一个成员,跟一个方法一样。public void doStuff(){size++;System.out.println("size="+size);}}}class TestOuter2{public static void main(String[] args) {Outer2.Inner inner = new Outer2.Inner();inner.doStuff();}}
阅读全文
0 0
- 内部类、内部接口
- 内部类、内部接口
- 内部类和内部接口
- 内部类与内部接口
- 内部类、匿名内部类、内部接口比较
- 内部类/内部接口那点事
- Java内部类和内部接口
- 内部接口和内部类的区别
- 内部接口与内部类的体会
- 学习笔记 Java_ch04_内部类内部接口 2014.7.27
- java基础教程5:内部类和内部接口
- 内部类、内部接口与继承的加深理解
- new 接口{内部实现方法} 转为 匿名内部类
- 外部类、外部接口、类的内部类、类的内部接口、接口的内部类、接口的内部接口 修饰符
- 内部类与接口
- 接口和内部类
- 接口,内部类!!!
- 接口内部类
- linux cd pwd 命令
- AWK里的语法
- Spring @JsonView使用
- Mysql truncate 表以后如何释放空间
- 顺序容器和简单算法
- 内部类、内部接口
- 【数据库】——函数
- Git使用集锦
- uva 11181 条件概率
- matlab中的uint8
- 解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again.
- windows安装配置mysql实测成功
- LeetCode 209. Minimum Size Subarray Sum
- python修改目录下指定后缀的文件名