1. 程式人生 > >Java外部類(靜態/非靜態)訪問(靜態)

Java外部類(靜態/非靜態)訪問(靜態)

public class Demo1{  public static void main(String []args){   Outer out = new Outer();   out.outer();//外部類物件.外部類非靜態方法   Outer.outer1();//外部類名.外部類靜態方法   } } class Outer{  public void outer(){   //1、外部類非靜態方法訪問成員內部類非靜態方法   getInstance().inner();//第一種   Inner_1 in = new Inner_1();//第二種   in.inner();   //2、外部類非靜態方法訪問靜態內部類靜態方法   Inner_2.fun();   System.out.println(in);//引用物件地址   //3、外部類非靜態方法訪問靜態內部類非靜態方法   Outer.Inner_2 in1 = new Outer.Inner_2();//第一種   Inner_2 in2 = new Inner_2();//第二種   in1.fun1();  }  public static void outer1(){      //4、外部類靜態方法訪問成員內部類非靜態方法   Outer outer = new Outer();//第一步,建立外部類物件   Inner_1 inner = outer.new Inner_1();//第二步,根據外部類物件建立內部類物件   inner.inner();//第三步,訪問內部類非靜態方法   System.out.println(inner);//引用物件地址   //5、外部類靜態方法訪問靜態內部類非靜態方法   Outer.Inner_2 in3 = new Outer.Inner_2();   in3.fun1();   //6、外部類靜態方法訪問靜態內部類靜態方法    Inner_2.fun();  }   class Inner_1{   public void inner(){    System.out.println(“成員內部類非靜態方法”);   }  }  static class Inner_2{   static void fun(){    System.out.println(“靜態內部類靜態方法”);   }   void fun1(){    System.out.println(“靜態內部類非靜態方法”);   }  }  public Inner_1 getInstance(){   return new Inner_1();  } }