ava面向对象-内部类
内部类定义:在类的内部定义的类;
内部类优点:可以方便的额使用外部类的属性;
内部类缺点:破坏类的基本结构;
个人建议,慎用内部类;
我们先来看一个示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package
com.java1234.chap03.sec06;
/**
* 外部类
* @author user
*
*/
public
class
Outer {
private
int
a=
1
;
/**
* 内部类
* @author user
*
*/
class
Inner{
public
void
show(){
System.out.println(a);
// 可以方便的额使用外部类的属性;
}
}
public
void
show(){
Inner inner=
new
Inner();
inner.show();
}
public
static
void
main(String[] args) {
Outer outer=
new
Outer();
outer.show();
}
}
|
这里我们间接的使用了调用了内部类里的方法;
我们下面再来写一个直接使用内部类里的方法的实例:
我们新建一个TestInner类:
写一个main方法 我们现在不使用Outer里的show()方法 我们要直接调用Inner里的show()方法,
1
2
3
4
5
6
7
8
9
10
|
package
com.java1234.chap03.sec06;
public
class
TestInner {
public
static
void
main(String[] args) {
Outer outer=
new
Outer();
Outer.Inner inner=outer.
new
Inner();
inner.show();
}
}
|
本来的话 Inner inner=new Inner(); 即可 但是Inner是内部类 所以java语法规则要求 要加下Outer. 以及outer. 前缀 一个是类名前缀 一个是对象前缀;