1. 程式人生 > >Java中面向對象常見面試題

Java中面向對象常見面試題

成員變量與局部變量的區別 某類在測試類中創建對象經歷了哪些屬性 java面向對象知識常見面試題

一、成員變量與局部變量的區別
1、在類中位置不同:
成員變量:在類中方法外定義。
局部變量:在方法聲明上或在方法定義中。
2、在內存中位置不同:
成員變量:堆內存。
局部變量:棧內存。
3、生存周期不同:
成員變量:隨著類的加載而加載,隨著類的消失而消失。
局部變量:隨著方法調用而存在,隨著方法調用完畢而消失。
4、初始化值不同:
成員變量:由系統默認初始化。對於成員變量,可以不給初始化值,由系統給,然後顯示初始化。
局部變量:局部變量在使用之前必須初始化,否則無法使用。
二、有一個學生類Student,裏面有一些屬性,在測試類中創建學生類對象,經歷了那些過程?
Student s=new Student();
1、通過測試類裏面main主程序進行加載,加載Student類(Student.class);
2、Student s先在棧內存開辟棧內存空間,創建一個學生對象,需要在堆內存申請堆內存空間;
3、通過無參構造方法給學生類對象進行默認初始化;
4、通過給成員變量賦值的方式,給對象進行顯示初始化;
5、顯示初始化完畢,整個對象創建完畢之後,給對象進行內存空間地址值分配;
6、通過地址值找到對應對象。

Java中面向對象常見面試題