Java-成员内部类

成员内部类是内部类中最常见的一种,所以也被称之为普通内部类。

使用方法

//外部类Out
public class Out{
//外部类的私有属性name
private String name = "落羽小末";
//外部类的成员属性
int age = 18;
//成员内部类In
public class In {
	String name = "落末";
//内部类中的方法show
	public void show() {
	System.out.println("外部类中的name:" + Out.this.name );
   	System.out.println("内部类中的name:" + name);
   	System.out.println("外部类中的age:" + age);
  }
 }
//测试成员内部类
public static void main(String[] args) {
//创建外部类对象
	Out o = new Out (); 
//创建内部类对象
	In i =  o.new In();
//调用内部类对象的show方法
 	 i.show();
 }
}
  • In类定义在Out类的内部,相当于Out类的一个成员变量的位置,In类可以使用任意访问控制符。
  • In类中定义的show方法可以直接访问Out类中的数据,而且不会受到访问控制符的影响。
  • 定义成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去创建一个内部类对象,方法为: 内部类名 对象名 = 外部类对象名.new内部类名();
  • 编译后会产生两个.class文件,一个是外部类的,一个内部类的
  • 外部类不能直接使用内部类的成员及方法,需要先创建内部类对象,然后通过内部类的对象来访问内部类中的成员以及方法。
  • 如果外部类和内部类具有相同的成员变量或者方法(名称相同),内部类默认访问自己类中的成员变量或方法,如果要访问外部类中的成员变量,可以使用this关键字。

this关键字

this关键字代表当前的对象,如:
1.this.属性 操作当前对象的属性
2.this.方法 调用当前对象的方法
还可以用this关键字来返回对象的值,如在代码中,可以使用 return this,来返回某个类的引用.此时this关键字就代表了类的名称

public class Out{
return Out;
}

这里指的就是返回Out类.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值