Java中面向对象常见面试题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中面向对象常见面试题相关的知识,希望对你有一定的参考价值。
一、成员变量与局部变量的区别
1、在类中位置不同:
成员变量:在类中方法外定义。
局部变量:在方法声明上或在方法定义中。
2、在内存中位置不同:
成员变量:堆内存。
局部变量:栈内存。
3、生存周期不同:
成员变量:随着类的加载而加载,随着类的消失而消失。
局部变量:随着方法调用而存在,随着方法调用完毕而消失。
4、初始化值不同:
成员变量:由系统默认初始化。对于成员变量,可以不给初始化值,由系统给,然后显示初始化。
局部变量:局部变量在使用之前必须初始化,否则无法使用。
二、有一个学生类Student,里面有一些属性,在测试类中创建学生类对象,经历了那些过程?
Student s=new Student();
1、通过测试类里面main主程序进行加载,加载Student类(Student.class);
2、Student s先在栈内存开辟栈内存空间,创建一个学生对象,需要在堆内存申请堆内存空间;
3、通过无参构造方法给学生类对象进行默认初始化;
4、通过给成员变量赋值的方式,给对象进行显示初始化;
5、显示初始化完毕,整个对象创建完毕之后,给对象进行内存空间地址值分配;
6、通过地址值找到对应对象。
以上是关于Java中面向对象常见面试题的主要内容,如果未能解决你的问题,请参考以下文章