标签:
/**嵌套:一个类嵌套着另一个类 * 变量和方法以外我们还可以在类中定义一个类 * 这个类就是内部类 */ public class Outer { int a=1; public void a(){ System.out.println("外部类a方法"); } class Inner{ int b=1; public void b(){ System.out.println("内部类b方法"); } } }
-------------------------------------------------------------
创建内部类的对象:
没有父类就没有没有子类,内部类与外部类也一样,要想创建内部类的对象那么就必须将外部类的对象创建出来,再由外部类的对象创建出内部类的对象
创建内部类对象的两种写法:
public class Test { public static void main(String[] args){ //创建内部类对象的第一种写法 Outer.Inner inner=new Outer().new Inner(); //创建内部类的第二种写法:先创建外部类对象,然后由外部类的对象去创建内部类的对象 Outer outer=new Outer();//创建了外部对象 Outer.Inner inner1=outer.new Inner();//创建内部的对象 }
public class Outer { /** * 嵌套:一个类嵌套着另一个类 * 变量和方法以外我们还可以在类中定义一个类 * 这个类就是内部类 */ // 加上权限修饰符private时,内部类也可以使用 private int a = 1; public void a() { int a=6; System.out.println("外部类a方法\n"+"外部类的a="+this.a+"\n方法a()a中的a=" +a); System.out.println("--------------------------------------------------------------------"); } class Inner { int a = 3; public void b() { int a=4; // 不加任何描述的时候根据就近原则调用离他最近的变量 System.out.println("内部类中方法b中的值--就近原则直接调用="+a); // this. 表示调用到该Inner类中的a System.out.println("本类中的a---用this.调用="+this.a); // Outer.this.a 用来调用外部类Outer中的a System.out.println("外部类的a----Outer.this.a="+Outer.this.a); } } }
标签:
原文地址:http://www.cnblogs.com/zhaiyaohua/p/5799790.html