Java学习记录---已完成
- Java基础
- 第一部分:变量、操作符、控制流程、数据结构
- 第二部分:类和对象
- 第三部分:接口与继承
- 第四部分:数字与字符串
- 第五部分:日期
学习地址: HOW2J.CN
Java基础
第一部分:变量、操作符、控制流程、数据结构
- 基础数据类型 int,bool.string,float
- if条件,三元表达式,while(do while)、for循环、操作符
- list、map数据结构与方法
- import导入
第二部分:类和对象
- 构造函数、继承、重载
- 访问修饰符,作用范围最小原则
private(自身可访问),package\friendly\default(同包皆可),protected(不同包类不能访问),public(皆可)
- 属性,方法(static)—静态属性、非静态属性,类方法—静态方法、非静态方法
- 属性初始化优先:先执行属性初始化>初始化块>构造方法初始化
- 单例模式—懒汉式(使用时实例)、饿汉式(启动时实例)
1、构造方法私有化 2、静态属性指向实例 3、静态方法返回静态属性
- 枚举类型enum
第三部分:接口与继承
- 接口对象(interface)
- 对象转型
- 重写(override)
- 多态:同一个方法的不同表现方式,通过继承、重写实现
- super:用于声明父类的调用,如父类的构造方法、属性。即使重写,也可以通过super调用
- Object:默认继承Object类,它提供了一些默认的方法。如toString(),finalize(),equals()等
- final:
1、修饰类的时候表示不能被继承 2、修饰变量的时候表示只有一次赋值机会 3、修饰引用的时候,表示该引用只有一次指向对象的机会
- 抽象类(abstract):若声明抽象方法,则该类必须为抽象类且不能被直接实例化。继承该类的子类必须实现抽象类的重写
**抽象类和接口的区别**
区别1:子类只能继承一个抽象类,不能继承多个子类可以实现多个接口
区别2:抽象类可以定义public,protected,package,private,静态和非静态属性,final和非final属性但是接口中声明的属性默认是,public,静态,final,即常量
- 内部类:非静态内部类、静态内部类、匿名类、本地类
- 接口的默认方法:当给接口增加一个方法之后,那么所有实现了此接口的类都将默认得到这个方法
第四部分:数字与字符串
- 字符串转换:
1、int->str: num.toString() 2、str->int: Integer.parseInt(str)
- Math库提供的常用数学运算方法
- ==:变量:比较直 ;引用对象:比较地址
- 字符串的一些方法,如split,trim,indexOf,replaceAll等
- StringBuffer是可变长的字符串:append追加 delete 删除 insert 插入 reverse 反转。其性能比String拼接速度快10倍左右
第五部分:日期
- 日期Date----java.util.Date:时间原点:1970年1月1日 8点0分0秒。为什么对应1970年?因为1969年发布了第一个 UNIX 版本
- SimpleDateFormat 日期格式化类
- Calendar日历类