首页 存档 技术 查看内容

JavaSE 学习参考:成员内部类

2018-3-30 13:00 |来自: 互联网 287 0

摘要: 点击上方“蓝字”关注本公众号JavaSE 学习参考:成员内部类○内部类 内部类是定义在类的内部的类,其所在的类称为外部类。内部类分为成员内部类和静态内部类。 成员内部类 成员内部类是依赖于外部类的,其对象可以访 ...

点击上方“蓝字”关注本公众号

JavaSE 学习参考:成员内部类

内部类

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

成员内部类

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

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

其中out是外部类的对象。

package d;

class Outter{

intvalue;

publicint getValue(){

returnvalue;

}

publicvoid setValue(intvalue){

this.value=value;

}

@Override

public String toString() {

return"Outter.value=" value;

}

class Inner {

intval;

publicint getVal() {

returnval;

}

publicvoid setVal(intval) {

this.val = val;

}

publicvoid setOutterVal(intv) {

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

}

public String toString() {

return"Inner.val=" val;

}

}

}

publicclass Demo {

publicstaticvoid 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);

}

}

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

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部