JAVA中,嵌套类的介绍

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);
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值