java成员内部类的使用

java成员内部类的使用

如何使用成员内部类?

有两种方式:
间接方式:

在外部类的方法当中,使用内部类;然后main只是调用外部类的方法。

直接方式,公式:

类名称 对象名 = new 类名称();
【外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package cn.itcast.day11.demo03;


public class Demo01InnerClass {

public static void main(String[] args) {
Body body = new Body(); // 外部类的对象
// 通过外部类的对象,调用外部类的方法,里面间接在使用内部类Heart
body.methodBody();
System.out.println("=====================");

// 按照公式写:
Body.Hearts heart = new Body().new Heart();
heart.beat();
}

}
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
package cn.itcast.day11.demo03;

public class Body { // 外部类

public class Heart { // 成员内部类

// 内部类的方法
public void beat() {
System.out.println("心脏跳动:蹦蹦蹦!");
System.out.println("我叫:" + name); // 正确写法!
}

}

// 外部类的成员变量
private String name;

// 外部类的方法
public void methodBody() {
System.out.println("外部类的方法");
new Heart().beat();
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}