1.一个类可以继承另一个类,继承到它的公有的方法.
如:有一个Student类和一个UNStudent类,且UNStudent
extends Student.Student类中有一个共有的方法: public void
study(),则UNStudent会继承到这个方法.若在UNStudent类中重
写这个study()方法,且有Student uns = new UNStudent();当
调用uns.study()时,执行的是重写的方法,这个就是多态.
2.JAVA中数据类型可以分为两大类,一类是8种基本数据类型,另
一种是自定义的类类型.8中基本的数据类型采用的是值传递,而类
类型用的是引用传递.值传递和直接使用数值没多大区别,而引用
传递使多个对象指向同一块内存空间,通过其中任意一个对象来修
改这个数据,效果都一样.
String类型是类类型,采用的是引用传递.
3.Set是无序的,要取出其中的对象,必须通过Set对象,得到
Iterator来遍历这个Set
如有一个Set的子类sSet,要遍历这个Set,
java.util.Iterator<Student> it = sSet.iterator();
while(it.hasnext()) {
Student st = it.next();
st.function();
}
Set所有已知实现类:
AbstractSet, ConcurrentSkipListSet,CopyOnWriteArraySet,
EnumSet, HashSet, JobStateReasons,LinkedHashSet,TreeSet
List的遍历:
java.util.List<Student> list = ...;
for(int i = 0;i<list.size();i++) {
Student st = list.get(i);
st.function();
}
在“集合框架”中有两种常规的 List 实现:ArrayList 和
LinkedList
Map的遍历:
首先要得到Map中所有key的集合
java.util.Set<String> set = um.keySet();
然后遍历这个key的set,取出对应的value就行了
java.util.Iterator<String> it = set.iterator();
while(it.hasnext()) {
String key = it.next();
Student uf = um.get(key);
uf.function();
}
4.java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.InputEvent
java.awt.event.MouseEvent
(MouseMotionListener,MouseWheelListener)
5.递归是在一个函数中调用自身,而循环可调用其他函数
在解决一个步骤相似的问题时,可使用递归简化解答过程
6.java.lang.Object
java.io.InputStream
java.io.FileInputStream
java.lang.Object
java.io.OutputStream
java.io.FileOutputStream
文件复制的实现:用FileInputStream来逐个读取源文件,再用
FileOutputStream来写入到目标文件
7.java中多线程的实现有三种方法,一种是继承Thread类,另一
种是实现Runnable接口,还有一种是以匿名内部类的方式创立,即在
一个方法中创建线程,当方法调用时,线程就启动了
由于Java中只能继承一个类,所以当又要实现多线程又要继承一个
类时,可采用实现Runnable接口来实现多线程
线程状态:
1.新建 2.就绪 3.运行 4.阻塞 5.死亡
线程状态
●新线程态(New Thread) 产生一个Thread对象就生成一
个新线程。当线程处于"新线程"状态时,仅仅是一个空线程对象,它
还没有分配到系统资源。因此只能启动或终止它。任何其他操作都
会引发异常。 ●可运行态(Runnable) start()方法产生
运行线程所必须的资源,调度线程执行,并且调用线程的run()方法
。在这时线程处于可运行态。该状态不称为运行态是因为这时的线
程并不总是一直占用处理机。特别是对于只有一个处理机的PC而言
,任何时刻只能有一个处于可运行态的线程占用处理 机。Java通过
调度来实现多线程对处理机的共享。 ●非运行态(Not
Runnable) 当以下事件发生时,线程进入非运行态。 ①
suspend()方法被调用; ②sleep()方法被调用; ③线程
使用wait()来等待条件变量; ④线程处于I/O等待。 ●
死亡态(Dead) 当run()方法返回,或别的线程调用stop()方法
,线程进入死亡态 。通常Applet使用它的stop()方法来终止它产
生的所有线程。
8.static声明的属性为静态属性,调用时可通过类名.属性直接调
用,可以不创建对象,而且在多个类之间只保留一个备份,方便调
用、传值。
类类型的属性用“==”比较的是它们的地址是否相同,与值无关。
而“equals”比较的是它们的值是否相同。
如:有一个Student类和一个UNStudent类,且UNStudent
extends Student.Student类中有一个共有的方法: public void
study(),则UNStudent会继承到这个方法.若在UNStudent类中重
写这个study()方法,且有Student uns = new UNStudent();当
调用uns.study()时,执行的是重写的方法,这个就是多态.
2.JAVA中数据类型可以分为两大类,一类是8种基本数据类型,另
一种是自定义的类类型.8中基本的数据类型采用的是值传递,而类
类型用的是引用传递.值传递和直接使用数值没多大区别,而引用
传递使多个对象指向同一块内存空间,通过其中任意一个对象来修
改这个数据,效果都一样.
String类型是类类型,采用的是引用传递.
3.Set是无序的,要取出其中的对象,必须通过Set对象,得到
Iterator来遍历这个Set
如有一个Set的子类sSet,要遍历这个Set,
java.util.Iterator<Student> it = sSet.iterator();
while(it.hasnext()) {
Student st = it.next();
st.function();
}
Set所有已知实现类:
AbstractSet, ConcurrentSkipListSet,CopyOnWriteArraySet,
EnumSet, HashSet, JobStateReasons,LinkedHashSet,TreeSet
List的遍历:
java.util.List<Student> list = ...;
for(int i = 0;i<list.size();i++) {
Student st = list.get(i);
st.function();
}
在“集合框架”中有两种常规的 List 实现:ArrayList 和
LinkedList
Map的遍历:
首先要得到Map中所有key的集合
java.util.Set<String> set = um.keySet();
然后遍历这个key的set,取出对应的value就行了
java.util.Iterator<String> it = set.iterator();
while(it.hasnext()) {
String key = it.next();
Student uf = um.get(key);
uf.function();
}
4.java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.InputEvent
java.awt.event.MouseEvent
(MouseMotionListener,MouseWheelListener)
5.递归是在一个函数中调用自身,而循环可调用其他函数
在解决一个步骤相似的问题时,可使用递归简化解答过程
6.java.lang.Object
java.io.InputStream
java.io.FileInputStream
java.lang.Object
java.io.OutputStream
java.io.FileOutputStream
文件复制的实现:用FileInputStream来逐个读取源文件,再用
FileOutputStream来写入到目标文件
7.java中多线程的实现有三种方法,一种是继承Thread类,另一
种是实现Runnable接口,还有一种是以匿名内部类的方式创立,即在
一个方法中创建线程,当方法调用时,线程就启动了
由于Java中只能继承一个类,所以当又要实现多线程又要继承一个
类时,可采用实现Runnable接口来实现多线程
线程状态:
1.新建 2.就绪 3.运行 4.阻塞 5.死亡
线程状态
●新线程态(New Thread) 产生一个Thread对象就生成一
个新线程。当线程处于"新线程"状态时,仅仅是一个空线程对象,它
还没有分配到系统资源。因此只能启动或终止它。任何其他操作都
会引发异常。 ●可运行态(Runnable) start()方法产生
运行线程所必须的资源,调度线程执行,并且调用线程的run()方法
。在这时线程处于可运行态。该状态不称为运行态是因为这时的线
程并不总是一直占用处理机。特别是对于只有一个处理机的PC而言
,任何时刻只能有一个处于可运行态的线程占用处理 机。Java通过
调度来实现多线程对处理机的共享。 ●非运行态(Not
Runnable) 当以下事件发生时,线程进入非运行态。 ①
suspend()方法被调用; ②sleep()方法被调用; ③线程
使用wait()来等待条件变量; ④线程处于I/O等待。 ●
死亡态(Dead) 当run()方法返回,或别的线程调用stop()方法
,线程进入死亡态 。通常Applet使用它的stop()方法来终止它产
生的所有线程。
8.static声明的属性为静态属性,调用时可通过类名.属性直接调
用,可以不创建对象,而且在多个类之间只保留一个备份,方便调
用、传值。
类类型的属性用“==”比较的是它们的地址是否相同,与值无关。
而“equals”比较的是它们的值是否相同。