28 java 内部类 局部内部类
2013-12-19 22:20
435 查看
package com.wjl.zy001; //外部类 public class ClassA { private int num; public int getNum() { return num; } public void setNum(int num) { this.num = num; } public void printA() { System.out.println("来自 ClassA"); } //访问内部类 内部类相对 外部类存在隐私 不能访问 ClassAChild classAchild=new ClassAChild(); //内部类 //去掉 public 在 包内可以访问 但是在包外不可以访问 public class ClassAChild { private int numChild; public void printAChild() { System.out.println("来自 ClassAChild"); num++; int a=num; System.out.println(a); //访问 外部类 ClassA classa=new ClassA(); classa.printA(); } } }
创建测试类
package com.wjl.zy001;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassA classA=new ClassA();
classA.printA();//来自 ClassA
//使用内部类 先实例外部类 再实例 内部类
ClassA.ClassAChild classAChild=new ClassA().new ClassAChild();
classAChild.printAChild();//来自 ClassAChild 1
System.out.println(classA.getNum());//0
/*
* 来自 ClassA
来自 ClassAChild
1
来自 ClassA
0
*/
}
}
局部内部类
package com.wjl.zy001; import javax.sound.midi.SysexMessage; //外部类 public class ClassA { private int num; public int getNum() { return num; } public void setNum(int num) { this.num = num; } public void printA() { System.out.println("来自 ClassA"); } public void contentsChildClass() { //局部内部类 class ClassAinMothod { private int aa=1; public void printSClassAinMothod() { System.out.println("局部内部类"); System.out.println(aa); } } //用在方法内部 ClassAinMothod classainmothod=new ClassAinMothod(); classainmothod.printSClassAinMothod(); } //访问内部类 内部类相对 外部类存在隐私 不能访问 ClassAChild classAchild=new ClassAChild(); //内部类 //去掉 public 在 包内可以访问 但是在包外不可以访问 public class ClassAChild { private int numChild; public void printAChild() { System.out.println("来自 ClassAChild"); num++; int a=num; System.out.println(a); //访问 外部类 ClassA classa=new ClassA(); classa.printA(); } } }
package com.wjl.zy001;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassA classA=new ClassA();
classA.printA();//来自 ClassA
//使用内部类 先实例外部类 再实例 内部类
ClassA.ClassAChild classAChild=new ClassA().new ClassAChild();
classAChild.printAChild();//来自 ClassAChild 1
System.out.println(classA.getNum());//0
/*
* 来自 ClassA
来自 ClassAChild
1
来自 ClassA
0
*/
//使用局部内部类
classA.contentsChildClass();//局部内部类 1
}
}
相关文章推荐
- Java中的内部类(成员内部类、静态内部类、局部内部类、匿名内部类)
- Java多继承方法(名)冲突和成员内部类、局部内部类、静态内部类、匿名内部类
- JAVA 内部类(成员内部类、局部内部类、匿名内部类)、异常处理、finally
- Java知多少(37)静态内部类、匿名内部类、成员式内部类和局部内部类
- Java -- 内部类, 成员内部类,局部内部类,匿名内部类,闭包和回调, 枚举类
- Java中的内部类 普通嵌套类 局部内部类 匿名内部类 静态内部类 浅析
- 牛客网Java刷题知识点之什么是内部类、为什么要使用内部类、内部类如何使用外部类的属性和方法、成员内部类、局部内部类、静态内部类、匿名内部类
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- Java -- 内部类, 成员内部类,局部内部类,匿名内部类,闭包和回调, 枚举类
- Java--类和接口--常规内部类,静态内部类,局部内部类,匿名内部类,抽象类,接口
- 实训java第十三课 内部类 匿名内部类 局部内部类 静态内部类 集合LinkedList
- 【java基础】内部类,局部内部类,匿名内部类、静态内部类、接口中的内部类
- java 内部类分为成员内部类,局部内部类,匿名内部类,
- JAVA基础知识点(七)--内部类(局部内部类、匿名内部类)
- java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类
- java基础15 内部类(成员内部类、局部内部类)和匿名内部类
- Java基础_内部类、静态内部类、成员内部类、局部内部类、匿名内部类 (转)
- java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类
- 面向对象高级特性===Java静态内部类、匿名内部类、成员式内部类和局部内部类
- Java基础笔记 – 内部类 静态内部类 成员内部类 局部内部类 匿名内部类anonymous inner classes