Java之封装类

java封装的实现步骤(编程规范)

1
2
3
4
5
6
7
8
修改属性的可见性
|
|
创建getter/setter方法
|
|
在getter/setter方法中加入属性控制语句 比如:void getScreen(){} void setScreen(){}

java中的包

定义包:package包名

import com.imooc.music.MyMusicClass

java 中的内部类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//外部类helloworld
public class Helloworld{
//内部类inner,类inner在helloworld的内部
public class inner{
//内部类的方法
public void show(){
System.out.println("welcome to my home");
}
}
public static void main(String[] args){
//创建外部类对象
Helloworld hello=new Helloworld();
inner i=hello.new inner();
//调用内部类对象的方法
i.show();
}
}
如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。如:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public class outer{
int b=1;
public class inner{
int b=2;
public void test(){
System.out.println("访问外部类中的b"+outer.this.b);
System.out.println("访问内部类中的b"+b);
}
}
}
```
### Java 中的静态内部类
静态内部类是 static 修饰的内部类,这种内部类的特点是:
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
``` bash
//外部类
public class HelloWorld {
// 外部类中的静态变量score
private static int score = 84;
// 创建静态内部类
public static class SInner {
// 内部类中的变量score
int score = 91;
public void show() {
System.out.println("访问外部类中的score:" + HelloWorld.score );
System.out.println("访问内部类中的score:" + score);
}
}
// 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象
SInner si=new SInner();
// 调用show方法
si.show();
}
}

java中的方法内部类:

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
33
34
//外部类
public class HelloWorld {
private String name = "爱慕课";
// 外部类中的show方法
public void show() {
// 定义方法内部类
class MInner {
int score = 83;
public int getScore() {
return score + 10;
}
}
// 创建方法内部类的对象
MInner n=new MInner();
// 调用内部类的方法
int newScore=n.getScore();
System.out.println("姓名:" + HelloWorld.this.name + "\n加分后的成绩:" + newScore);
}
// 测试方法内部类
public static void main(String[] args) {
// 创建外部类的对象
HelloWorld mo=new HelloWorld();
// 调用外部类的方法
mo.show();
}
}
Fork me on GitHub