java容易混淆的15个知识点
2017-11-07 本文已影响8人
李序锴
java知识点不多,但是有一些经常会被我们忽略
1.java是强类型的语言,数组也是对象,一旦确定数组的类型,里面就只能存放一个类型的数据。
2.新建的对象都被存放到堆上,如果没有引用,会很快垃圾回收。
3.java没有全局变量和方法这个概念,全局方法,被加上static关键字,全局的变量是,static final
4.java是值传递,对于primitive基本类型,是拷贝数值,对于复杂对象类型是拷贝引用,操作会影响原来额数据。
5.实例变量声明在类内,局部变量声明在方法内,局部变量使用前必须被初始化。
6.方法的覆盖不能降低开放的权限。
7.判断是否继承,需要判断是否有is-a关系。
8.有一个方法是抽象方法,类也必须是抽象类,抽象类可以有抽象方法也可以有非抽象的方法。
9.在java中,程序员会在意两个区域,对象存在的空间堆,方法和变量存在空间栈,变量存在于哪一个空间要看他的类型而定,实例变量属于对象,存在于堆,局部变量又叫栈变量(包括方法参数和内部的变量)。
10.对象局部变量是一个引用类型,会放在栈上。
11.对于java来说所有的引用类型的大小都是固定的
12.new 对象时候,第一件事情是去执行他的父类的构造函数,一直到object的构造函数,叫做构造函数调用链条。
13.局部变量的生存周期是方法的堆栈区存在,既是方法被调用期间,使用范围是方法的内部。
14.对象的销毁一定是没有引用指向的时候,会被垃圾回收器回收,三个主要的方式:1.方法里面的局部对象变量在方法结束后2.唯一的引用指向其他的对象3.引用设为null
15.静态方法不能调用非静态的变量和方法,静态变量的值对于所有的对象都是相同的。