Repository navigation
Expand file tree
/
Copy pathday10总结.txt
More file actions
119 lines (106 loc) · 2.16 KB
/
Copy pathday10总结.txt
File metadata and controls
119 lines (106 loc) · 2.16 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
1:形式参数和返回值问题(掌握)
(1)形式参数:
基本类型:需要的是对应的值
引用类型:
类:该类的对象
抽象类:该类的子类对象
接口:该接口的实现类对象
(2)返回值问题:
基本类型:返回的是对应的值
引用类型:
类:该类的对象
抽象类:该类的子类对象
接口:该接口的实现类对象
(3)链式编程
new A().b().c().d();
2:包(理解)
(1)其实就是文件夹
(2)对类进行分类管理
(3)格式:
package 包名;
(4)注意事项
A:package是程序中的第一条可执行语句
B:在类中package是唯一的
C:没有package,默认是无包名
(5)带包的类的编译和运行
3:导包(理解)
(1)为了方便使用不同包下的类,需要导包
(2)格式:
import 包名.报名...类名;
注意:可以导入到*,但是不建议
(3)package,import,class在类中有没有顺序关系呢?
有。
package --> import --> class
4:修饰符(理解)
(1)4种权限修饰符
本类 同一个包下 不同包下的子类 不同包下的其他类
private Y
默认 Y Y
protected Y Y Y
public Y Y Y Y
(2)常见的修饰
A:类 public
B:成员变量 private
C:构造方法 public
D:成员方法 public
5:内部类(理解)
(1)把类A定义在类B内部,类A就被称为内部类
(2)访问特点:
A:内部类可以直接访问外部类的成员,包括私有
B:外部类要想访问内部类的成员,必须创建对象
(3)内部类的分类:
A:成员内部类
B:局部内部类
(4)成员内部类
A:private
B:static
面试题:
num
this.num
Outer.this.num
(5)局部内部类
A:面试题
局部内部类访问局部变量,必须加final修饰
(6)匿名内部类(掌握)
A:没有名字的内部类
B:前提
存在一个类或者接口
C:格式
new 类名或者接口名() {
重写方法();
};
本质:是一个匿名子类对象
(7)开发中如何使用
不用在定义一个新的类了。直接通过匿名内部类的格式就可以搞定
interface Person {
public abstract void show();
}
class PersonDemo {
public void method(Person p) {
p.show();
}
}
PersonDemo pd = new PersonDemo();
pd.method(new Person(){
public void show(){...}
});
(8)面试题
补齐代码,在控制台输出HelloWorld
interface Inter {
public abstract void show();
}
class Outer {
//补齐代码
public static Inter method() {
return new Inter(){
public void show() {
System.out.println("helloworld");
}
};
}
}
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}