1.对象与对象引用的区别是什么?
(1)所在内存空间不同:类和对象被分配到堆中,而对象引用则被分配到栈里面。
(2)定义不同:对象是客观事物的抽象,而引用对象则像是对象的名片,存有对象的地址,可以通过引用对象来查找到对象。
2. 对象作为参数传递的特点是什么?
对象是引用传递,当对象作为参数传递的时候,传递的是参数的地址。
3. 对象初始化顺序是怎样的?请举例说明
顺序依次向下:
父类静态字段
父类静态代码段
子类静态字段
子类的静态代码段
父类成员变量
父类非静态代码块
父类构造器
子类成员变量
子类非静态代码块
子类构造器
4. 类的static字段与非static字段的区别是什么?什么情况应该使用static修饰符?
静态变量是用static修饰的变量,静态变量不需要new出对象引用来调用,它可以直接用类名直接调用,当然用对象引用也能调用它,只是没那个必要。
非静态变量则必须用对象引用调用。
使用情况
一、需要一个类的所有对象的字段都保持相同的值的时候,例如计算类有多少个对象,可以使用静态字段,这样该类所有对象的该字段的值相等
二、作为一个固定值,为所有程序直接访问使用
5. Java中final修饰符都有什么作用?
修饰一个字段时,该字段为常量,其值不能改变
修饰一个方法时,该方法在子类中不能被覆盖,可以防止继承类修改该方法
修饰一个类时,该类不能被继承
6.Java中float[10] arr语句正确么?为什么?
不正确
因为声明浮点型数组时,方括号里面不能加参数
7.Java数组元素类型为基本数据类型和引用类型时,有什么不同?
1、存储位置
基本变量类型
在方法中定义的非全局基本数据类型变量的具体内容是存储在栈中的
引用变量类型
只要是引用数据类型变量,其具体内容都是存放在堆中的,而栈中存放的是其具体内容所在内存的地址
2、传递方式
基本变量类型:在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递的
引用变量类型:调用方法时作为参数是按引用传递的