java基础之内部类的使用1
2011-03-22 19:13
411 查看
import javax.swing.text.DefaultCaret;
class A{
int a = 100;
void printf(){
System.out.println("a:"+a);
}
class B{
private int b = 90;
void printf(){
int b_pri = 80;
System.out.println("this is B printf");
}
class C{
void printf(){
System.out.println("this is C printf()");
// int temp = A.a; 不能直接调用外部类的成员变量,需要用A的实例化对象来调用,否则需要把A静态化。
int A_temp = A.this.a;//用this来引用实例化的对象调用 a。
System.out.println("print A's a : " + A_temp);
int B_temp = B.this.b;
System.out.println("print B's b : " + B_temp);
}
}
}
}
public class Main {
public static void main(String[] agrs){
A a_class = new A();
System.out.println("A's a : "+ a_class.a);
//B bclass = new B(); 内部类不能直接new出来 ,会报错。
//A.B bclass = A.new B(); 不能通过类来调用,因为要先新建 外部类 ,才能有内部类。
A.B b_class = a_class.new B();//需要通过新建的外部类来调用内部类的构造。
b_class.printf();
A.B.C c_class = b_class.new C();
c_class.printf();
}
}
class A{
int a = 100;
void printf(){
System.out.println("a:"+a);
}
class B{
private int b = 90;
void printf(){
int b_pri = 80;
System.out.println("this is B printf");
}
class C{
void printf(){
System.out.println("this is C printf()");
// int temp = A.a; 不能直接调用外部类的成员变量,需要用A的实例化对象来调用,否则需要把A静态化。
int A_temp = A.this.a;//用this来引用实例化的对象调用 a。
System.out.println("print A's a : " + A_temp);
int B_temp = B.this.b;
System.out.println("print B's b : " + B_temp);
}
}
}
}
public class Main {
public static void main(String[] agrs){
A a_class = new A();
System.out.println("A's a : "+ a_class.a);
//B bclass = new B(); 内部类不能直接new出来 ,会报错。
//A.B bclass = A.new B(); 不能通过类来调用,因为要先新建 外部类 ,才能有内部类。
A.B b_class = a_class.new B();//需要通过新建的外部类来调用内部类的构造。
b_class.printf();
A.B.C c_class = b_class.new C();
c_class.printf();
}
}
相关文章推荐
- java基础之内部类的使用2
- java基础之内部类的使用3_interface和内部类以及基类和派生类的使用
- java基础之枚举的使用
- JAVA局部内部类的使用
- java语言基础(7)——数据类型、变量的定义和使用
- 老紫竹JAVA基础培训(5),IF语句的使用
- 内部类相关知识-java基础
- JAVA基础之--Lambda表达式,枚举类,垃圾回收机制,修饰符的使用范围
- 智渔课堂官方免费教程十二:Java基础之内部类
- Java基础_内部类、静态内部类、成员内部类、局部内部类、匿名内部类 (转)
- Java基础知识强化50:运行javac 报告javac不是内部或外部命令(已解决)
- Java基础之读文件——使用通道读取混合数据2(ReadPrimesMixedData2)
- java学习之旅57、58--数组_StringBuilder和StringBuffer的使用_JDK源码分析内部机制、常用方法补充_常见面试题答法
- 使用Java进行FreeMarker的web模板开发的基础教程
- Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)
- java基础学习(九)内部类
- JAVA基础再回首(十六)——泛型的概述、使用、泛型类、泛型方法、泛型接口、泛型高级(通配符)
- Java语言基础之内部类
- java中的内部类使用规则
- JVM 内部原理(七)— Java 字节码基础之二