偶也是初学者: Inner class 必须要在out class 类中进行实例化,然后可以调用out class 的成员, 其作用域仅为out class 内 /////////////////////////////////////////////////////// 不知道偶说的对不对!
看来我对接口理解的不通,呵呵,自己为自己加油! wscft(无欲则刚),我觉得你说的对! 谢谢!
记不太清楚了,随便聊聊,错了请指正。 class内部定义的类有四种 1. static member class: 在其他类中有identifier "static"的类,比如 public class A { static class B {
} }2. non-static member class 同上面相反,没有identifier "static"的内部类定义 public class A { class B {
} }3. anonymous class 这个的定义我也说不太清楚,好像就是在调用的时候临时定义的类,没有名字 class A { public void func( new B(){} ) {
} }4. local class 方法里面定义的class class A { public void func() { class B { } } }除了第一种(因为是静态的),其余三种叫做inner class 对我来说基本没有用过这种形势的类定义,感觉主要还是对类内部逻辑进行进一步抽象,提取合适的元素作为一个只适合自己使用的内部类
我也在看java刚好看完内部类和接口,nirvana_li(东成西就,芝兰境界) 、wscft(无欲则刚) 讲得很对 内部类的实例化一般来讲依赖于外部类的实例对象 比如: class outer { class inner {
Inner class 必须要在out class 类中进行实例化,然后可以调用out class 的成员,
其作用域仅为out class 内
///////////////////////////////////////////////////////
不知道偶说的对不对!
wscft(无欲则刚),我觉得你说的对!
谢谢!
class内部定义的类有四种
1. static member class:
在其他类中有identifier "static"的类,比如
public class A
{
static class B
{
}
}2. non-static member class
同上面相反,没有identifier "static"的内部类定义
public class A
{
class B
{
}
}3. anonymous class
这个的定义我也说不太清楚,好像就是在调用的时候临时定义的类,没有名字
class A
{
public void func(
new B(){}
)
{
}
}4. local class
方法里面定义的class
class A
{
public void func()
{
class B
{ }
}
}除了第一种(因为是静态的),其余三种叫做inner class
对我来说基本没有用过这种形势的类定义,感觉主要还是对类内部逻辑进行进一步抽象,提取合适的元素作为一个只适合自己使用的内部类
内部类的实例化一般来讲依赖于外部类的实例对象
比如:
class outer
{
class inner
{
}
public static void main(String [] arg )
{
//先实例化outer
outer out_instance = new.outer();
//使用outer的实例:out_instance实例化inner实例对象
outer.inner in_instance = out_instance.new inner();
}
}