学习问题记录 -- 对象和引用
Q:对象和对象引用的区别是什么?
A:
java中对对象的使用可谓是炉火纯青,那么对象和对象的引用到底是怎么一回事呢,我们来进行简单的分析。首先,来说明对象,加入我们先做出一个名为fighterplane的类,它作为一个模板,(就假如是飞机一号),在接下来我们需要创建二号飞机的时候,我们就以它为模板,创建一个二号飞机的:new fighterplane();这个以类模板new出来的新飞机二号,就是一个fighterplane类的对象。现在有了飞机一号的框架,我们的飞机二号需要新东西假如,那么, 我们就给飞机二号指定一个工程师-----fighterplane fp;让fp这个工程师专门指定去装修飞机二号,就是fighterplane fp=new fighterplane();这样,当fp被声明后又赋予特定的对象后,就是对象的引用,引用在某种方面来讲,就相当于对象的名片,(飞机二号的特定工程师。)对象的引用,可以让程序员通过代码的方式决定某些对象的生命周期,有利于JVM进行垃圾回收。
Q:对象作为参数传递的特点是什么?
A:
仅传递对象的引用,即对象的地址。
Q:对象的初始化是怎样的?
A:
分配内存之后,先调用构造函数初始化,然后再调用静态方法和初始化静态变量到方法区中。
Q:类static字段与非static字段区别?
A:
用static修饰符修饰的域变量不属于任何一个类的具体对象,而专属于类。它被保存在类的内存区的公共存储单元中,一个类的任何对象访问它时,存取到的都是相同的数值。当某个属性需要被类、多个对象引用共享访问时,使用static修饰符。
Q:Java中final修饰符有什么用
A:
Java中有一个修饰符final,这个修饰符有什么作用呢?
以final修饰类属性,则该属性为常量;如果修饰方法,则该方法为最终方法,在子类中不能被覆盖,利用final修饰符可以防止数据被篡改,保证了程序的安全性和正确性!
例:
public Constant{
static final int ok=10;
static final int data =20;
…
}
Q:float[10] arr正确吗?
A:
不对,应该为float[] arr=new float[10];
在java中,一维数组有三种定义方式:
1.int[] arr=new int[10];
2.int[] arr={1,2,2,3,4,5,6,};
3.int[] arr=new int[]{1,2,3,4,5,6,};