第八章 多线程
1.线程创建两种方法
extends Thread
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16//声明线程时声明类即可
public class TestThread1 extends Thread{
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("执行了run方法"+i);
}
}
public static void main(String[] args) {
TestThread1 testThread1 =new TestThread1();
//调用线程,用的是start方法
testThread1.start();
}
}implements Runnable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16////声明线程时声明类即可要声明Thread(代理模式)
public class TestThread2 implements Runnable{
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("执行了run方法"+i);
}
}
public static void main(String[] args) {
TestThread2 testThread2 =new TestThread2();
//调用线程,用的是start方法
//new 一个Thread方法去进行线程模式,在这里用了代理模式
new Thread(testThread2,'name').start();
}
}
Thread.currentThread.getName()可获得当前线程名字
2.线程间的同步机制
1 | - sleep |
第十章 输入输出流与文件处理
输入输出流(引入import java.io.*)
字节流
1 | DataInputStream d =new DataInputStream(new FileInputStream("1.txt")); |
1 | DataOutputStream b =new DataOutputStream(new FileOutputStream("1.txt")); |
字符流
1 | BufferedReader din = new BufferedReader(new FileReader("1.txt")); |
1 | BufferedWriter dout = new BufferedWriterr(new FileWriter("1.txt")); |
文件处理
1 | File dir =new File(".");//当前目录 |
文件过滤器
1 | InnerFilter filter |
第六章 图形用户界面(GUI)
- 导入包 > import java.awt.*
- 导入包>import javax.swing.*
基本构成

基本操作
1 | //基本操作 |
基本布局
布局分为三种布局分别是流布局管理器FlowLayout,边布局管理器 BorderLayout和网格布局管理器GridLayout
1 | //为面板或容器设置布局时,一个关键的命令是 |
当然也可以直接设置方位如 JButton a =new JButton(“as”); a.setBounds(24,95,156,46);
基本组件详细解释
1 | //所有的组件要想加到容器中要用到这个命令 |
- JDialog
1 | import javax.swing.*; |
- JRadioButton
1 | //在处理单选按钮时,需要只有一个选项,这时,就要把一组多选框放到一组ButtonGroup中 |
- Jlist JComboBox
两者添加的可以是一个数组
4.JMenuBar
事件处理机制
我认为可能会考的两个事件处理
- ActionListener —-> JButton —-> actionPerformed(ActionEvent e) 单机操作
1 | //操作 |
- MouseListener
- 事件适配器写法
1 | package henu; |
- 事件监听器接口
1 | package henu; |
第五章 Java基本类
java.lang语言包
字符串类
最基本的字符串声明不用多说,在这里只说明其常用的几个方法
1 | - s.length // 字符串长度获取 |
Java.util
集合API中的List
1 | //示例 |
List的输出
1 | // 1.for循环输出 |
Random
1 | Random ran =new Random(); |
Data
1 | Date date = new Date();// 实例化一个Date类,用于获取当前系统时间 |
第三章 Java面向对象
我所认为的难点
- static 变成了类方法或类变量,类方法中不能有super与this
- super
- 类的继承,接口与多态
类的基本结构
类的继承(extends)
区分子类方法中重名的三种变量:
1.局部变量: 直接写成员变量名
2.本类的成员变量: this.成员变量名
3.父类的成员变量: super.成员变量名
能继承的情形
- 子类能继承父类的非私有成员变量(实例与类变量)
- 子类能继承除了构造方法以外的所有成员方法
其他特性
- 子类不能删除父类成员
- 子类可以增加成员变量与方法
- 在子类的构造方法中可用super()初始化父类构造方法
- super.成员方法 super.成员变量
上转型
- ==即 People p1 =new Student(); People为父类,Student为子类==
隐藏,覆盖,动态绑定
- 对于子类重定义父类成员的情况
- 对于成员变量与静态方法,子类的隐藏父类的。上转型引用的是父类的。
- 对于实例成员方法,子类覆盖父类的。上转型引用的是子类的,这种方式成为动态绑定。
- 若子类实例成员方法未覆盖父类,调用父类方法时,方法中用的是父类的成员变量,甚至是私有变量。
- 对于子类重定义父类成员的情况
类的接口
满足类的接口中不能有具体的实例,所有方法,子类都需实现