java3

1.对象与对象引用的区别是什么?请举例说明
相互关联体现在:
  1)当对象的引用变量指向对象时,他们两就联系起来,改变引用的属性,就会改变对象的属性;
  2)如果同一个对象被多个引用变量引用的话,则这些引用变量将共同影响这个对象本身。
  相互独立体现在:
  3)一个对象可以被不同的引用变量操纵,同时一个引用变量也可以指向不同的对象,但是同一时刻只能指向一个对象;
  4)从存储空间上来说,对象和引用也是独立的,对象一般存储在堆中,而引用存储在堆栈(存储速度更快)中。
  
2.对象作为参数传递的特点是什么?请举例说明
当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的 方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。

3.对象初始化顺序是怎样的?请举例说明
类的初始化顺序依次为:
a.父类的静态变量/静态初始化块;
b.子类类的静态变量/静态初始化块;
c.父类的动态初始化块、非构造方法和set方法的成员变量初始化
d.子类的动态初始化块、非构造方法和set方法的成员变量初始化
e.父类的构造方法。
f.子类的构造方法。
g.父类本地变量。
h.子类的本地变量。

4.类的static字段与非static字段的区别是什么?什么情况应该使用static修饰符?请举例说明
static 方法 (静态方法)
方法在该方法所属类型第一次被使用的时候加载、在该类型所在应用程序域卸载的时候卸载、也就是说 static 方法只加载一次、除
非整个Domain 被卸载了。
实例方法(非静态方法)
方法是在第一次该方法第一次调用的时候会加载、然后被缓存起来。但是中间如果有GC 的话, 就会被收集,那下次再调用该方
法时,又得重新加载该方法。也就是说,实例方法有可能加载多次。
总的来说,static 方法只用加载一次,但一直会占用内存。多了些资源消耗;而实例方法需要加载多次,但不会一直占用内存。少些资
源消耗。一般来说, 在程序里面,一些使用频率高的方法就用static 方法、使用频率低的则用实例方法。

5.Java中final修饰符 都有什么作用?请举例说明
final是Java关键字 final所标记的成分具有终态的特征,表示最终的意思
Java中final修饰符既可以修饰类、方法,也可以修饰变量
用final修饰的类不能被继承
用final修饰的方法不可重写
用final修饰的变量最多只能赋值一次,值不可变

6.Java中float[10] arr;语句正确么?为什么?
不对,系统无法识别该语句给arr数组分配内存空间。

7.Java数组 元素类型为基本数据类型和引用类型时,有什么不同?请举例说明
基本数据类型存储在栈中,引用数据类型存储在堆中。
例如Student有name和age属性,其有参构造穿件对象是:Student s = new Student(“张三”,16);
在内存中的具体创建过程是:
1.首先在占内存中为s分配一块空间;
2.在堆内存中为Student对象分配一块空间,并为其两个属性设置初值(”“,0);
3.根据类Person中对属性的定义,为该对象的两个属性进行赋值;
4.调用构造方法,为两个属性赋值为”张三“,16(这个时候s与构造方法Student还没有建立关系);
5.将Student对象在堆内存中的地址,赋值给栈中的s;通过句柄s可以找到对象中的具体信息。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值