public class Outer
{
private static int i = 1;
private int j = 10;
/**
* 定义静态方法
*/
public static void outer_f1()
{
}
/**
* 定义一个方法
*/
public void outer_f2()
{
}
//静态内部类可以用public,protected,private修饰
//静态内部类中可以定义静态或者非静态的成员
/**
* 定义一个静态内部类
* @author Administrator
*
*/
static class Inner
{
/**
* 定义静态成员
*/
static int inner_i = 100;
int inner_j = 200;
/**
* 定义静态类中的静态方法
*/
static void inner_f1()
{
System.out.println("Outer.i"+i);//静态内部类只能访问外部类的静态成员----输出结果为1
outer_f1();//包括静态变量和静态方法
}
/**
* 定义方法
*/
void inner_f2()
{
// System.out.println("Outer.i"+j);//静态内部类不能访问外部类的非静态成员
// outer_f2();//包括非静态变量和非静态方法
}
}
/**
* 定义外部类的方法
*/
public void outer_f3()
{
// 外部类访问内部类的静态成员:内部类.静态成员
System.out.println(Inner.inner_i);//=========输出结果为100
Inner.inner_f1();//====输出结果为1
// 外部类访问内部类的非静态成员:实例化内部类即可
Inner inner = new Inner();
inner.inner_f2();
}
public static void main(String[] args)
{
new Outer().outer_f3();
}
}
本文出自 “javaswing” 博客,请务必保留此出处http://chaiyesongtest.blog.51cto.com/8506442/1395279