Java 杂记
Java 杂记
一. Java 特性
1.1 封装
属性私有化,提供公共的可以访问的方法
1.2 继承(extends)
Java 类没有多继承,一个子类只能有一个父类,一个父类可以有多个子类
子类拥有父类一切非私有的属性和方法
Object:顶级父类(根类)
1.3 多态
对象的多态:父类的引用指向了子类的对象(前提是:继承,重写)
1.4 抽象(abstract)
抽象类天生是被继承实现的
1.5 接口(interface)
类似于抽象类:父类相当于接口,子类相当于实现类
-
方法都是抽象的
-
属性是静态常量
-
可以多继承多实现
-
面向接口的编程
二. Java 的主要对象
-
String
-
StringBuffer:线程安全,相对慢
-
StringBuilder:线程不安全,相对快
三. java.util.Collection 接口
3.1. List 接口
可变数组长度的实现
ArrayList → 实现类(有序,可以重复)
ArrayList:对于查询结果十分快速(结构基于数组)
linkedList:对于开始结束位置的操作十分快速(结构基于链表)
通过 for 循环遍历:add(object),get(index)
3.2. Set 接口
HashSet:通过 iterator() 迭代存取
无序,不能重复
3.3. Map 接口
键值对存储
k key 键
v value 值
3.4 集合框架
List ArrayList LinkedList Vector
Set HashSet TreeSet
Map HashMap TreeMap
ArrayList:查询效率高,插入数据慢
LinkedList:查询效率相对较慢,但是插入数据方便
判断两个对象是否重复,既比较equals方法又比较hashcode方法
四. 泛型
规定集合数据存储的类型(JDK1.5之后出现的新特性)
1. 提升程序的执行效率
2. 减少数据转换带来的错误风险
五. 堆内存和栈内存
堆内存:基本数据类型,引用数据类型的句柄,局部变量
堆内存:new 出来的对象是存储在堆中
常量池:基本数据类型包装类和 String 的值是存储在常量池中
六. 内部类
在一个类里面再创建一个类,这个类就叫做内部类
内部类作用:在 Java 中所有的类之间都是单继承的,有了内部类,就可以间接的实现多继承
七. new 子类的执行顺序
父类静态方法 > 子类静态方法 > 父类普通方法(属性) > 父类构造方法 > 子类普通方法(属性) > 子类构造方法
八. 退出程序
finally {
// 除非系统退出,否则一定会执行!
System.exit(1);
}
本文来自博客园,作者:Schieber,转载请注明原文链接:https://www.cnblogs.com/xiqingbo/p/java-22.html