Loading

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);
}
posted @ 2022-03-07 21:34  Schieber  阅读(108)  评论(0编辑  收藏  举报