第一阶段
day01 java 发展,java 环境( path, java_home, class_path),java 原理, java 执行 , jvm , jre , jdk
day02 变量 标识符命名规则 数据类型 数据类型的转换 运算符
day03 选择结构 if , switch
day04 循环结构 for , while , do-while
day05 双重循环(打印星星练习)
day06 数组(一维数组):排序(冒泡,选择),数据的扩容与缩容
二阶段
面向对象
day08
面向过程,面向对象的思想(基于对象 -》类), 类与对象的关系, 类是模板。
类和对象的概念
方法
重载
类的包括(成员变量,成员方法)
day09
封装
this
private
构造函数
day10
继承( 多个类重复的信息,提供一个公共类,使用继承去实现)
extends
特点:只能单继承不能多继承
子类可以继承父里哪些(私有的继承不了)
重写
day11
多态
要有继承
要有重写
要有父指子类的引用
(编译看左边,除了方法运行看右边外,其它的运行也是看左边; 为什么方法运行看右边,因为它实现重写)
day12
抽象类与接口
抽象类: 包括抽象方法类,一定要抽象 类,抽象类可以有构造方法,抽象 方法,还可以有普通方法; 只是不能实例化
接口: 一定要抽象方法, jdk 1.8 default , static jdk 1.9 private 方法(主要指default使用)
多态的分类
具体类多态
抽象 类多态
接口多态 (用的最多)
抽象类与接口区别关系
类与类,接与接口,类与接口
成员
成员属性
构造方法
成员方法
设计 is a , like a
day13 - day14
Math, String , Object , Date , Calendar , 包装类 , 正则表达式 , Scanner , Random 等
day16
代码块
内部类
成员内部类,局部内容部, 匿名内类部(本质是一个对象)
lamda表达式
day17 异常
day 18 IO
day 19 网络编程
day20 多线程
day21-day22 集合
单列 (Connection) 双列(Map)
list set HashMap HashTable ...
ArrayList, LinkedList, Vecktor HashSet TreeSet put() :存值 ,如果 键名相同,就是修改值 . 键不能重复
考原理:数组与链表 (底层HashMap, Jdk1.9 结合红黑树去实现)
哈希表(数组+链表的结合)
day 23-24 Mysql
关系型数据
增删改查(mysql )
约束(外键约束)
查询 (表连接, join, left join ,right join )
索引
事务(ACID): 隔离性(脏读,不可重复读,幻读 =》 sql 隔离级别)
mysql 存储引擎(不同引擎它的支持不一样)
day 25 JDBC
java 去连接数据的一种技术 (JDBC api )
不同数据库去实现JDBC 接口
下载jar
使用jar
jdbc连接数据的步骤:
注册驱动
创建连接对象
创建sql执行对象 statement
写sql 语句,且调用对象的方法执行。 excuteQuery() , excuteUpdate();
如果是查询,处理结果集
释放资源
封装
把重复,提成一个方法(创建连接的方法, 释放资源的方法)
把提取方法专门一个独立的类里(JdbcUtils)
jdbc连接时,url , 驱动, 用户名,密码; 因为它们可能进行修改,所有独立配置文件,提高了代码的维护性
day 26 反射
使用Class 对象,获取成员属性,构造方法,成员方法
(动态代理)
获取 Class 对象
类名.class;
对象名.getClass();
Class.forName(类名-包括包名);
构造方法
成员属性(在使用时,必须要有对象)
成员方法(在使用时,必须要有对象)
(加s 的表示获取所有, 不加s表示获取单个) -- 默认这些方法都调用的public修饰
如果要获取所有修饰的类型。 给方法一个Declared
注: 如果是私有的,即便获取 了,也不能使用,如果要使用,把java安全语法检查跳过. xxx.setAccessable(true);