-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsearch.xml
More file actions
136 lines (136 loc) · 9.83 KB
/
search.xml
File metadata and controls
136 lines (136 loc) · 9.83 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title><![CDATA[接口与抽象类]]></title>
<url>%2F2017%2F06%2F25%2FJava%E5%9F%BA%E7%A1%80%E6%8E%A5%E5%8F%A3%E4%B8%8E%E6%8A%BD%E8%B1%A1%E7%B1%BB%2F</url>
<content type="text"><![CDATA[java抽象类包含抽象方法的类就做抽象类.如果一个类包含一个或多个抽象方法,该类必须被限定为抽象类. java接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 1.通过继承来扩展接口123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475//: interfaces/music5/Music5.java// Interfaces.package interfaces.music5;import polymorphism.music.Note;import static net.mindview.util.Print.*;interface Instrument { // Compile-time constant: int VALUE = 5; // static & final // Cannot have method definitions: void play(Note n); // Automatically public void adjust();}class Wind implements Instrument { public void play(Note n) { print(this + ".play() " + n); } public String toString() { return "Wind"; } public void adjust() { print(this + ".adjust()"); }}class Percussion implements Instrument { public void play(Note n) { print(this + ".play() " + n); } public String toString() { return "Percussion"; } public void adjust() { print(this + ".adjust()"); }}class Stringed implements Instrument { public void play(Note n) { print(this + ".play() " + n); } public String toString() { return "Stringed"; } public void adjust() { print(this + ".adjust()"); }}class Brass extends Wind { public String toString() { return "Brass"; }} class Woodwind extends Wind { public String toString() { return "Woodwind"; }}public class Music5 { // Doesn't care about type, so new types // added to the system still work right: static void tune(Instrument i) { // ... i.play(Note.MIDDLE_C); } static void tuneAll(Instrument[] e) { for(Instrument i : e) tune(i); } public static void main(String[] args) { // Upcasting during addition to the array: Instrument[] orchestra = { new Wind(), new Percussion(), new Stringed(), new Brass(), new Woodwind() }; tuneAll(orchestra); }} /* Output:Wind.play() MIDDLE_CPercussion.play() MIDDLE_CStringed.play() MIDDLE_CBrass.play() MIDDLE_CWoodwind.play() MIDDLE_C*///:~ 2.组合接口时的名字冲突3.适配接口接口中最吸引人的原因之一就是允许同一个接口具有多个不同的具体方法实现. 4.接口中的域接口中的任何域都自动是static和final的,所以接口就成为了一种便捷的用来建常量组的工具 接口与抽象类的区别 变量 构造方法 方法 抽象类 无限制 子类通过构造方法链调用构造方法,抽象类不能用new操作符实例haunted 无限制 接口 所有的变量必须时是public Static 没有构造方法,接口不能用new操作符实例化 所有方法必须是公共的抽象实例方法]]></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
<tag>tags</tag>
</tags>
</entry>
<entry>
<title><![CDATA[springBootDayOnelearn]]></title>
<url>%2F2017%2F06%2F10%2FspringBootDayOnelearn%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
<tag>tags</tag>
</tags>
</entry>
<entry>
<title><![CDATA[mysqlSQL语句练习]]></title>
<url>%2F2017%2F06%2F10%2FmysqlSQL%E8%AF%AD%E5%8F%A5%E7%BB%83%E4%B9%A0%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
<tag>tags</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Java基础枚举类型]]></title>
<url>%2F2017%2F06%2F10%2FJava%E5%9F%BA%E7%A1%80%E6%9E%9A%E4%B8%BE%E7%B1%BB%E5%9E%8B%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
<tag>tags</tag>
</tags>
</entry>
<entry>
<title><![CDATA[java基础异常]]></title>
<url>%2F2017%2F06%2F10%2Fjava%E5%9F%BA%E7%A1%80%E5%BC%82%E5%B8%B8%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
<tag>tags</tag>
</tags>
</entry>
<entry>
<title><![CDATA[java基础泛型]]></title>
<url>%2F2017%2F06%2F10%2Fjava%E5%9F%BA%E7%A1%80%E6%B3%9B%E5%9E%8B%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
<tag>tags</tag>
</tags>
</entry>
<entry>
<title><![CDATA[java基础多态]]></title>
<url>%2F2017%2F06%2F09%2Fjava%E5%9F%BA%E7%A1%80%E5%A4%9A%E6%80%81%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
<tag>tags</tag>
</tags>
</entry>
<entry>
<title><![CDATA[java基础继承]]></title>
<url>%2F2017%2F06%2F09%2Fjava%E5%9F%BA%E7%A1%80%E7%BB%A7%E6%89%BF%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
</tags>
</entry>
<entry>
<title><![CDATA[java基础封装]]></title>
<url>%2F2017%2F06%2F09%2Fjava%E5%9F%BA%E7%A1%80%E5%B0%81%E8%A3%85%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
</tags>
</entry>
<entry>
<title><![CDATA[java基础多线程]]></title>
<url>%2F2017%2F06%2F09%2Fjava%E5%9F%BA%E7%A1%80%E5%A4%9A%E7%BA%BF%E7%A8%8B%2F</url>
<content type="text"></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
</tags>
</entry>
<entry>
<title><![CDATA[java基础IO]]></title>
<url>%2F2017%2F06%2F09%2Fjava%E5%9F%BA%E7%A1%80IO%2F</url>
<content type="text"></content>
</entry>
<entry>
<title><![CDATA[java基础集合]]></title>
<url>%2F2017%2F06%2F08%2Fjava%E5%9F%BA%E7%A1%80%E9%9B%86%E5%90%88%2F</url>
<content type="text"><![CDATA[基本概念java容器类类库的用途是”保存对象”,并将其划分为两个不同的概念 集合结构图 Collection一个独立元素的序列,这些元素多服从一条或多条规则,Set不能有重复元素,Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同) 基本操作包括:: add(Object o):增加元素 addAll(Collection c):… clear():… contains(Object o):是否包含指定元素 containsAll(Collection c):是否包含集合c中的所有元素 iterator():返回Iterator对象,用于遍历集合中的元素 remove(Object o):移除元素 removeAll(Collection c):相当于减集合c retainAll(Collection c):相当于求与c的交集 size():返回元素个数 toArray():把集合转换为一个数组 1.List ArrayList:最有用的List集合实现,由一个整形数字或数组存储了集合的大小() LinkedList:Deque实现:每一个节点都保存着上一个节点和下一个节点的指针.这就意味着数据的存取和更新具有线性复杂度 vector:一个带有线程同步方法的ArrayList版本. 2.Set HashSet:一个基于HashMap的Set实现,HashSet不是同步的,如果多个线程同时访问一个hashSet,假设有两个或者两个以上的线程同时修改了HashSet集合时,则必须通过代码来保证其同步:集合元素可以是null. TreeSet:TreeSet是SortedSet接口的实现类,正如SortedSet名字所暗示的.TreeSet可以确保集合处于排序状态 enumSet是专为枚举类设计的集合类EnumSet中的所有元素都必须是指定的枚举类型的枚举值。EnumSet的集合元素也是有序的,EnumSet以枚举值在Enum类内的定义顺序来决定集合元素的顺序。 3.QueueQueue用于模拟队列这种数据结构,实现“FIFO”等数据结构。通常,队列不允许随机访问队列中的元素。Queue 接口并未定义阻塞队列的方法,而这在并发编程中是很常见的。BlockingQueue 接口定义了那些等待元素出现或等待队列中有可用空间的方法,这些方法扩展了此接口。Queue 实现通常不允许插入 null 元素,尽管某些实现(如 LinkedList)并不禁止插入 null。即使在允许 null 的实现中,也不应该将 null 插入到 Queue 中,因为 null 也用作 poll 方法的一个特殊返回值,表明队列不包含元素。 iterator接口iterator接口,用于循环访问集合中的对象,所有实现了Collection接口的容器类都有iterator方法,用于返回一个实现了iterator接口的对象,iterator对象称做迭代器,iterator接口方法都以迭代方逐个访问集合中各个元素,并可以从Collection中除去适当的元素 Collections此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。如果为此类的方法所提供的 collection 或类对象为 null,则这些方法都将抛出 NullPointerException。 常用方法总结: (1)sort()排序方法函数定义:public static]]></content>
<categories>
<category>java</category>
</categories>
<tags>
<tag>java基础</tag>
</tags>
</entry>
</search>