内部类的访问规则


1.
内部类可以直接访问外部类中的成员,包括私有。
之所以可以直接访问外部类中的成员是因为内部类中持有了一个外部类的引用。
格式:
外部类名.this.外部类成员
2.
外部类要访问内部类要建立内部类对象。


这是一个测试题:创建一个包含有private的属性和private方法的类。然后创建一个内部类,它有一个方法可用来修改外部类的属性,并调用外部类的方法。在外部类的另一个方法中,创建此内部类的对象,并且调用它的方法。

public class Test6 {
	
	public static void main(String[] args)
	{
       Outer out =new Outer();    //创建外部类对象
	   out.method();        //外部类对象调用method()方法
    }
}
	
	class Outer			// 定义外部类			
	{ 
	    private int num = 1;       //外部类的属性,初始化为 1
	    private void show()        //外部类的方法
	    {
	       System.out.println("num = "+num);
	    }
	    class Inner                 //创建内部类
	    {
	       void setNum(int num)		//创建设置数字的方法
	       {
	           Outer.this.num=num;    //修改外部类的属性(使用外部类名.this)
	           show();               //调用外部类的方法             
	       }
	    }
	    public void method()         //外部类中另一个方法
	    {
	       Inner in = new Inner();    //创建一个内部类对象
		   in.setNum(0);              //调用内部类方法,修改外部类数字为0.
	    }
	}

1.将一个类定义在一个类的里边,对里面那个类就称为内部类。
 内部类可以直接访问外部类中的成员,包括私有成员。
 外部类要访问内部类成员必须要建立内部类对象。

2.外部类还可以直接访问内部类成员

格式:

外部类名.内部类名 变量名=外部类对象.内部类对象
Outer.Inner in = new Outer().new Inner();

3.内部类可以被private修饰,当内部类在外部类的成员位置上就可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值