java特点:简单易学、有丰富类库;面向对象;与平台无关性;可靠安全;支持多线程;
面相过程 | 面向对象 |
分析解决问题的步骤,然后用函数把这些步骤一步一步实现,在使用的时候调用。性能高 | 把构成问题的事务分解成各个对象,为了描述某个事物在解决整个问题的过程中发生的行为。 特性:封装、继承、多态。 易维护、易复用、易扩展。 |
基本类型 | 大小 | 默认值 | 封装类 |
byte | 1 | (byte)0 | Byte |
short | 2 | (short)0 | Short |
int | 4 | 0 | Integer |
long | 8 | 0L | Long |
float | 4 | 0.0f | Float |
double | 8 | 0.0d | Double |
boolean | - | false | Boolean |
char | 2 | \u0000(null) | Character |
标识符命名规则:英文字符,0-9数字$和_。不能是关键字,不能以数字开头。
- 类名(大驼峰式):每个单词的首字母大写;
- 变量名和方法名(小驼峰式):第一个单词首字母小写,后面首字母大写。
装箱 | 拆箱 |
自动将基本数据类型转化为包装器类型 | 自动将包装器类型转化为基本数据类型 |
重载(Overload) | 重写(Override) |
一个类中,同名方法有不同的参数列表 (参数类型或参数个数或参数顺序不同) 返回值类型可以相同也可以不同,无法以返回 型作为重载函数的区分标准 | 子类继承父类重写方法体 方法名,参数列表,返回类型必须相同 访问修饰符限制大于被重写方法的访问修饰符 重写方法不能抛出新的检查异常或者比被重写 方法申明更加宽泛的检查型异常
|
equals | == |
比较对象内容 | 比较两个对象(同一类型)的地址是否相同 |
ArrayList | LinkedList |
可以自动增长容量,需要初始化长度 | 双链表,添加删除时性能比ArrayList好 |
创建对象的方式:new创建新对象;反射机制创建;clone机制创建;序列化机制创建
final用法:修饰的类不能被继承;修饰的方法不能被重写;修饰的变量在编译时会存入常量池中,不能被改变
线程 | 进程 | 程序 |
比进程更小的执行单位,在执行过程中可以产生多个线程。同类的多个线程共享同一块内存空间和一组系统资源。 | 程序的一次执行过程,是系统能够运行程序的基本单位。一个进程就是一个执行中的程序。 哥进程独立运行 | 含有指令和数据的文件,是静态的代码,被存储在磁盘或其他的数据存储设备中。 |
IO流:按照流向分为输入流和输出流;按照操作单元分为字节流和字符流;按照流的角色分为节点流和处理流。
- InputStream(字节输入流)/Reader(字符输入流):所有输入流的基类
- OutputStream(字节输出流)/Writer(字符输出流):所有输出流的基类
Java反射:在运行时,给定类名,就能通过反射机制来获得类的所有属性和方法。
反射的实现方式:Class.forName(“类的路径”);类名.class;对象名.getClass();包装类的Type属性获得改包装类的Class对象。
- 优点:能动态获取类实例,提高灵活性;与动态编译结合。
- 缺点:性能较低,需要解析字节码,将内存中对象进行解析。
List | Set | Map |
可以存储有序不唯一的对象 | 不重复集合 | 使用键值对存储,Key不能重复,value可以重复 |