探究静态内部类和非静态内部类的区别

package com.zhao.j2sePractice;.net

/**
 * 探究静态内部类和非静态内部类的区别
 *
 * 注意:静态方法不能够调用非静态的内部类
 *
 * @author Administrator
 *
 */
public class TestStaticClassAndNotStaticClass {
 /**
  * 非static型的name
  */
 private String name = "zhao";
 /**
  * static型的age
  */
 private static int age = 12;对象

 /**
  * @param args
  */
 public static void main(String[] args) {get

  TestStaticClassAndNotStaticClass test = new TestStaticClassAndNotStaticClass();
  test.transferNotStaticClass();
  
  System.out.println();class

  StaticClass staticClass = new StaticClass();
  staticClass.staticMethod();test

 }变量

 /**
  * 建立方法来调用非静态类
  */遍历

 public void transferNotStaticClass() {
  /**
   * 类加载的机制:先从本类中找是否存在此类,若是不存在,则在同一个包下寻找,依次向上遍历
   */
  NotStaticClass notStaticClass = new NotStaticClass();
  notStaticClass.method();
 }方法

 /**
  * 非静态类
  *
  * @author Administrator
  *
  */
 class NotStaticClass {
  public void method() {static

   System.out.println(name + "     非静态类");
   System.out.println(age + "      非静态类");
  }auth

 }

 /**
  * 静态类
  *
  * @author Administrator
  *
  */
 static class StaticClass {

  public void staticMethod() {

   /**
    * 必须建立对象来调用公共类的成员变量name
    */
   TestStaticClassAndNotStaticClass test = new TestStaticClassAndNotStaticClass();

   System.out.println(test.name + "     静态类");
   System.out.println(age + "     静态类");
  }
 }

}

相关文章
相关标签/搜索