外部类 内部类(普通内部类、静态内部类、匿名内部类)

package com.ztt.Demo03;

import java.util.Arrays;
import java.util.Comparator;

public class test1 {

	public static void main(String[] args) {
		//创建Outer外部类对象
		Outer o1=new Outer();
		
		//创建Inner1内部类对象(普通内部类)
		//必须借助一个外部类对象
//		Outer.Inner1 o2=new Outer().new Inner1();
		Outer.Inner1 o2=o1.new Inner1();
		
		//创建Inner2内部类对象(静态内部类)
		Outer.Inner2 o3=new Outer.Inner2();
		
		//匿名内部类
		String[] ns = {};
		Arrays.sort(ns , new Comparator() {
		@Override
		public int compare( String o1, String o2) {
		return 0;
		}
		});

	}

}
//外部类=>编译为Outer.class
class Outer{
	private int value=6;
	//内部类=>编译为Outer$Inner1.class
	class Inner1{
		//内部类中可以定义成员变量
		private int value=5;
		//内部类中可以定义构造方法
		public Inner1(){
			System.out.println("内部类Inner1中的value="+this.value);
			System.out.println("内部类Outer中的value="+Outer.this.value);
		}
		
	}
	//静态内部类=>编译为Outer$Inner2.class
	static class Inner2{
		
	}
}

运行结果:

内部类Inner1中的value=5
内部类Outer中的value=6

 

你可能感兴趣的:(java,开发语言)