您的位置:首页 > 编程语言 > Java开发

JAVA中,嵌套类的介绍

2015-10-20 21:19 423 查看
1,java中,允许在类中介绍类。这种声明在类的内部的类称为嵌套类,也可以叫内部类。

2,嵌套类对象可以访问创建它的外部类的所有属性和方法、

3,嵌套类通过在其外部类环境内的嵌套声明,不为同一包的其他类所见。可以支持更高层次的封装。

4,嵌套类可以很方便地定义运行时回调。

5,嵌套类在编写事件处理程序很方便。

6,被static修饰的嵌套类被称为静态嵌套类,静态嵌套类中可以声明static成员或者非静态成员,但是只能访问外部的静态成员。

下面是我写的嵌套类程序

Outer.java

package com.qiantao1.java;

public class Outer   //外部类
{

public void test()
{
System.out.println("这是外部类");
}
public void accessInner()
{
Inner inner=new Inner();
inner.display();
}

public class Inner   //嵌套类
{
public void display()
{
System.out.println("外部的i="+outer_i);
test();
System.out.println("内部的i="+this.inner_i);

System.out.println(j);
System.out.println(Outer.this.j);

}

private int inner_i=100;
private int j=200;
}

private int outer_i=300;
private int j=400;

}


Test1.java

package com.qiantao1.java;

public class Test1
{
public static void main(String [] args)
{
Outer outer=new Outer();
outer.test();
outer.accessInner();
System.out.println();

Outer.Inner inner=outer.new Inner();  //定义嵌套类的。
// Outer.Inner inner=new Outer.Inner();
// Outer.Inner.display();
inner.display();
}
}


静态嵌套程序如下:

package com.qiantao2.java;

import com.qiantao1.java.Outer;

public class Statictest {

public static void main(String [] args)
{
Outer1 outer=new Outer1();
outer.test1();
Outer1.Inner.display();  //第一种设置对象
//Outer1.Inner inner=outer.new Inner();
//Inner inner =new Inner();

Outer1.Inner inner=new Outer1.Inner();  //第二种设置对象。  只有静态嵌套类,才能使用这样建立对象。
inner.test();

}

}

class Outer1
{
private static int outer_i=100;
private int j=200;

public static void test1()
{
Inner.display();
//Inner.test();
}

public static class Inner{

public static String str="华东师范大学";
private int i=200;

public static void display()
{
System.out.println("外部的类outer_i"+outer_i);

}
public void test()
{
System.out.println(str);
//System.out.println(j);
System.out.println(i);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: