黑马程序员技术交流社区
标题:
内部类的设计思想
[打印本页]
作者:
郑昌奋
时间:
2013-3-15 13:23
标题:
内部类的设计思想
本帖最后由 郑昌奋 于 2013-3-15 18:50 编辑
内部类一般是在什么时候才可以去使用或者定义,就是我们在开发的时候设计哪些逻辑思想时候才会用内部类来实现,有什么好处呢?
作者:
李思杰
时间:
2013-3-15 13:30
本帖最后由 李思杰 于 2013-3-15 13:39 编辑
分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容。这时就是还有的事物定义成内部类来描述。
比如你定义人体这个类,发现人体里面还有心脏着个类,这时就可以把心脏定义为内部类。
<P>class Body
{
private int num = 3;</P>
<P> class Heart// 内部类。
{
void show()
{
System.out.println("show run..."+num);
}
}</P>
<P> public void method()
{
Inner in = new Inner();
in.show();
}
}
class InnerClassDemo
{
public static void main(String[] args)
{
Body b = new Body();
b.method();
Body.Heart h = new Body().new Heart();
h.show();//直接访问外部类中的内部类中的成员。
}
}</P>
复制代码
作者:
张雪萍
时间:
2013-3-15 13:32
class Outer{ // 定义外部类
private String info = "hello world" ; // 定义外部类的私有属性
class Inner{ // 定义内部类
public void print(){ // 定义内部类的方法
System.out.println(info) ; // 直接访问外部类的私有属性
}
};
public void fun(){ // 定义外部类的方法
new Inner().print() ; // 通过内部类的实例化对象调用方法
}
};
public class InnerClassDemo01{
public static void main(String args[]){
new Outer().fun() ; // 调用外部类的fun()方法
}
};
复制代码
内部类只要是用来访问外嵌类的私有属性,也就是说你定义一个类,其中有private的成员变量(也就是该成员变量只能在本类中使用),
但是在其子类中又想访问该成员变量,所以就要在拥有该成员变量的类中定义内部类,该内部类创建的对象就可以访问该成员变量了
以上程序你可以试试不用内部类来实现,你就发现有些麻烦了。
作者:
VOIDMAIN
时间:
2013-3-15 20:46
当对象有隐私的时候就可以考虑用内部类了,相当于做一个二次封装,只留接口。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2