java思维导图
2019-02-28 16:24:25 1 举报
AI智能生成
java 思维导图
作者其他创作
大纲/内容
Java
数据结构
线性表
数组
int[]
动态数组
ArrayList
查找
contains
remove
语法
注解
@Override
提示方法是覆盖的
编译器检测是否覆盖
面向对象
封装
类(数据+方法)
包
import
导入类
import static
导入类的静态函数
隐藏
权限(数据、函数、类的隐藏)
无修饰符不等价于 public/private/protected
权限大小:publicprotecteddefaultprivate
应用的对象
成员变量
成员函数
类
default
public
类名与文件名保持一致
划分的范围
类自身
子类
原则
高内聚
尽量不暴露模块内部的变量/方法/类给外部,并且只有模块内部相互引用
低耦合
模块之间的调用尽量简单
继承
关键字
extends
implements
super
父构造
父方法
final
方法
instanceof
判断以对象的实际类型
只能继承单个类(extends)
可继承多个接口(implements)
无带public/private/protected的继承
匿名类
继承与接口或抽象类
实现接口函数/抽象函数
无类名
可以使用普通类代替
多态
重载
重写(覆盖)
无virtual关键字
抽象
接口(interface)
不须实现方法
方法的访问权限不能使用 private/protected
变量隐式定义为static final
抽象类
定义
abstract修饰类
有抽象函数
无法实例化抽象类对象
技巧skill
JavaBean
具有get/set函数的Java类
String[ ] sarray = new String[size]
for(User u: allUsers)
字符串处理
转换
字符串-int
Integer.ParseInt()
int-字符串
String.valueOf
切分
str.split()
比较
str.equals()
解析字符
str.charAt
属性
长度
字符集
编码
Ascii
unicode
UTF8
判断中文
0x80(近似)
文件操作
读
BufferedReader
readLine()
FileReader
File
写
BufferedWriter
write
FileWriter
换行符
\\
异常处理
try catch finally
异常类
IOException
finally
reader/write.close()
系统资源的回收
启动Java程序
IDE
Run
Run File
命令行
classes目录
Java com.abc.Main
jar包
-jar选项
配置主类
MAINFEST.MF
Java -jar abc.jar
-cp
Java -cp abc.jar com.abc.Main
日志
Logger.getLogger(xxx.class.getName()).log
日志的级别
异常
中断程序执行
NullPointerException
ArithmeticException
异常发生的位置
文件+行号
函数调用的历史信息(异常发生的调用栈)
异常所在的线程
throws
声明函数
调用者必需捕获异常或声明抛出此类异常
main函数也可以声明抛出异常
无论try代码块中有无异常抛出,都必执行
设计模式
单例模式
构造函数为private
限制在类外创建对象
public static XXX getInstance()
获取到单例对象
监听器模式
EventSource
Event
Listener
窗体编程(GUI)
Swing组件
窗体
创建窗体类
继承JFrame类
居中窗体
setLocationRelativeTo(null)
显示窗体
new XXXFrame().setVisible(true)
关闭窗体
setVisible(false)
标题
title
大小可变
resizeable
关闭窗体的行为
defaultCloseOperation
EXIT_ON_CLOSE
HIDE
控件
标签(JLable)
text属性
文本字段(JTextField)
口令字段(JPasswordField)
回车事件
actionPerformed
按钮(JButton)
按钮的点击事件
菜单
菜单栏(JMenuBar)
菜单(JMenu)
菜单项(JMenuItem)
添加事件
addActionListener()
弹出式菜单(JPopupMenu)
显示
关联菜单项
add()
表格JTable
选择模式
selectioModel
编辑开关
创建基于DefaultTableModel匿名类
覆盖isCellEditable()
设置/获取数据
Model View Controller
getModel
setModel
选择
getSelectedRow()
getSelectedColumn()
事件
鼠标事件
mouseClick
双击
evt.getClickCount()
右键
evt.getButton()
模态对话框
消息对话框
创建
继承JDialog
修改父类构造函数的调用
数据编程
JDBC
JDBC驱动(jar包)
设计表
主键
推荐(int 自增)
范式
外键
索引
聚集/非聚集
唯一性
编程
连接
连接字符串
DriverManager.getConnection
Connection
PreparedStatement
stmt.executeQuery()
ResultSet
删/增/改
stmt.execute()
网络编程
OSI七层网络模型/协议
套接字(Socket)
服务端/客户端模型
客户端
通讯的发起者
创建Socket对象
动态绑定了端口
服务端
ServerSocket
监听端口
ServerSocket.accept()
接收客户端的连接
发送数据
socket.getOutputStream
writer.flush()
使数据立即发送
接收数据
socket.getInputStream
接收数据的线程
多线程编程
线程类Thread
匿名类继承Runnable接口
thread.start()
启动线程
获取当前线程的id
Thread.currentThread().getId()
线程
并发性
数据共享
轻量
代码执行的实例环境
主线程
界面程序中的消息线程
项目
课程管理系统
功能
登陆
学生
查看课表
表格方式展示当前课程
统计总学分、课程数
选课
可选课程列表
查看已选课程
教师
查看选修课表
开课
管理员
用户管理
课程管理
封装(隐藏)
变量/函数
修饰符
private
protected
无
访问位置
类内部
所有
同一包中另外的类
不同包中的类
包内
包外
继承(派生)
普通类(class)
抽象类(abstract class)
0 条评论
回复 删除
下一页