java中面向对象的题_Java 中面向对象常见面试题

Java 中面向对象常见面试题

一, 成员变量与局部变量的区别

1, 在类中位置不同:

成员变量: 在类中方法外定义.

局部变量: 在方法声明上或在方法定义中.

2, 在内存中位置不同:

成员变量: 堆内存.

局部变量: 栈内存.

3, 生存周期不同:

成员变量: 随着类的加载而加载, 随着类的消失而消失.

局部变量: 随着方法调用而存在, 随着方法调用完毕而消失.

4, 初始化值不同:

成员变量: 由系统默认初始化. 对于成员变量, 可以不给初始化值, 由系统给, 然后显示初始化.

局部变量: 局部变量在使用之前必须初始化, 否则无法使用.

二, 有一个学生类 Student, 里面有一些属性, 在测试类中创建学生类对象, 经历了那些过程?

Student s=new Student();

1, 通过测试类里面 main 主程序进行加载, 加载 Student 类 (Student.class);

2,Student s 先在栈内存开辟栈内存空间, 创建一个学生对象, 需要在堆内存申请堆内存空间;

3, 通过无参构造方法给学生类对象进行默认初始化;

4, 通过给成员变量赋值的方式, 给对象进行显示初始化;

5, 显示初始化完毕, 整个对象创建完毕之后, 给对象进行内存空间地址值分配;

6, 通过地址值找到对应对象.

来源: http://www.bubuko.com/infodetail-2559138.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值