在JAVA中秉承着一切皆对象的编程思想,下面我来总结各个知识点

基本数据类型(八大基本类型)

整型类:byte short int long 分别是8 16 32 64位
浮点类:float double 分别是32 64位
布尔类:boolean 1位
字符类:char 16位
除了这八个其他都是属于对象,这和我们一切皆对象不太相符,所有了我们的包装类的诞生,除了int - Integerchar - Character其他的包装类都是首字母大写

引用数据类型

分为五中:类、接口、数组、枚举、标注
使用new关键字创建出来的类型都是引用数据类型,他们在JVM中有着两块存储空间:一个在栈中,一个在堆中
栈中存放的是堆中的地址

GC垃圾回收机制

在JAVA中是自动垃圾回收机制的
会自动清理无用的对象:
对象之间的引用是树形结构,从树根作为起点进行搜索,走过的链称为引用链,当这个对象到树根没有任何引用链相连时,则表示这个对象是不可用的,系统就会回收。

引用传递和值传递

值传递:进入堆中的只是值。
引用传递:进入堆中的是引用地址。
实例:我的另外一篇

构造器

在创建对象时自动调用的方法,系统会给默认的无参构造器
当我们创建一个对象时其实就是调用了它的构造方法。

static关键字

我们new一个对象时,是调用了类的构造方法,普通的字段和方法是属于对象,创建两个相同的对象,里面的字段或属性是不相干的,而经过static修饰的内容,就是属于这个类了,是随着类的加载而加载,属于静态内容,和class一样存放在方法区存中
特点:
1、static修饰的内容,随着类的加载而加载;
2、static修饰的成员被该类型的所有对象共享;
3、是直接用类名.访问static成员。

变量

主要分为三种:类成员变量、类实例变量、局部变量
类成员变量:字段使用了static修饰,跟随类的加载而诞生,随着JVM停止而死亡,内存位置在方法区存
类实例变量:字段没有static修饰,跟随在类对象中,对象被GC回收而死亡,内存位置在
局部变量:存放在方法参数、方法内、代码块中,执行到初始化变量时而诞生,所在的方法或代码块执行结束而死亡,内存位置在

JAVA三大特性之封装

1、保证数据的安全
2、提高组件的复用性
把对象的状态和行为看成一个统一的整体,将字段和方法放到一个类中
信息隐藏

JAVA三大特性之继承

1、制定出一个体系
2、解决代码重复问题

JAVA三大特性之多态

1、同一操作作用于不同对象,会有不一样的解释,从而产生不一样的结果
2、提高可扩充性和可维护性
接口就是多态的衍生体

枚举

是一个特殊的类,多个常量的集合,比如:

enum Week{
	MONDAT,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,FRIDAY,SATURDAY,SUNDAY
}
集合

都实现了Collection接口:ArrayList、LinkedList、Vector、HashSet、LinkedHashSet、TreeSet
ArrayList:动态数组实现,线程不安全,查询快,添加删除慢
LinkedList:链表实现,查询慢,添加删除快,只看前后是谁
Vector:动态数组实现,线程安全,查询快,添加删除慢
HashSet:跟list区别就是不允许出现重复,可以存放null,但只能存放一个null
LinkedHashSet:是以元素的添加顺序而排序
TreeSet:二叉树算法,唯一可以实现自动排序的类型