JavaSE 学习参考:成员内部类

本文详细介绍了Java内部类的概念,包括成员内部类和静态内部类的区别。重点讲解了成员内部类如何依赖于外部类,并通过示例代码展示了如何创建内部类对象以及如何访问外部类的成员变量。


内部类

内部类是定义在类的内部的类,其所在的类称为外部类。内部类分为成员内部类和静态内部类

成员内部类

成员内部类是依赖于外部类的,其对象可以访问外部类的成员变量和方法,其目的是为外部类提供复合成员数据和算法,例如List接口的实例类都提供了遍历元素的迭代器,这些迭代器都是实现了Iterator接口的位于List接口实现类的内部或方法中。成员内部类不能独立实例化,必须通过外部类的对象才能实例化,如下例的代码:

Outter.Inner in=out.new Inner();

其中out是外部类的对象。

 

package d;

 

class Outter{

int value;

public int getValue(){

return value;

}

public void setValue(int value){

this.value=value;

}

@Override

public String toString() {

return "Outter.value="+value;

}

class Inner {

int val;

 

public int getVal() {

return val;

}

 

public void setVal(int val) {

this.val = val;

}

public void setOutterVal(int v) {

value=v;//访问外部类成员变量

}

public String toString() {

return "Inner.val="+val;

}

}

}

public class Demo {

public static void main(String[] args) {

Outter out=new Outter();

out.setValue(100);

System.out.println(out);

Outter.Inner in=out.new Inner();

in.setVal(50);

System.out.println(in);

in.setOutterVal(200);

System.out.println(out);

}

 

}

 

运行程序,结果如下图所示:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值