轉載:JAVA企業面試題精選 OOP 21-24
轉載:https://blog.csdn.net/qq_38131668/article/details/75222751
參考答案:
呼叫方法的行為通常被稱為傳送訊息給物件.程式碼示例如下:
public boolean login(String userName,String pwd){
//實現登入的程式碼
}
//處理使用者請求的程式碼
public String action(){
String userName = request.getParameter("userName");
String pwd = request.getParameter("pwd");
//呼叫login方法傳遞使用者名稱,密碼資訊進入方法
login(userName,pwd);
return "success";
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
上述程式碼中,在action方法中,呼叫login方法並傳遞使用者名稱,密碼資訊進入該方法,即將訊息傳遞到了login方法的內部.
2.22.重寫Clazz類的equals方法:
public class Clazz{
private in id;
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
@Override
public boolean equals(Object obj){
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
參考答案:
public class Clazz{
private in id;
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
@Override
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(obj == null){
return false;
}
if(getClass() != obj.getClass()){
return false;
}
Clazz other = (Clazz) obj;
if(id != other.id){
return false;
}
return true;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
2.23.請看下列程式碼:
Test1類:
package com.welkin.test;
public class Test1{
public static String method(){
return "hello world!";
}
public static void main(String[] args){
System.out.println(Test1.method());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
Test2類:
package com.welkin.test;
public class Test2{
public static void main(String[] args){
System.out.println(Test1.method());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Test3類:
package com.welkin.test.a;
import com.welkin.test.Test1;
public class Test3{
public static void main(String[] args){
System.out.println(Test1.method());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Test4類:
package com.welkin.test.a;
import com.welkin.test.Test1;
public class Test4 extends Test1{
public static void main(String[] args){
System.out.println(Test1.method());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
將Test1中的method方法的作用域修飾符public以下第一列的作用域修飾符替換,請在第二,三,四,五列表格中以”√”和”x”標註在各種情況下類Test1,Test2,Test3,Test4是否能正常輸出結果.
作用域修飾符 | Test1 | Test2 | Test3 | Test4 |
---|---|---|---|---|
public | ||||
protect | ||||
private | ||||
不寫 |
參考答案:
作用域修飾符 | Test1 | Test2 | Test3 | Test4 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protect | √ | √ | x | √ |
private | √ | x | x | x |
不寫 | √ | √ | x | x |
2.24.heap和stack有什麼區別?
參考答案:
棧(stack)和堆(heap)都是Java用來在記憶體中存放資料的地方,二者區別在於:
1.棧存放基本型別變數和物件引用,當超過作用域後釋放;堆存放new出來的物件和陣列;
2.堆可以動態的分配記憶體大小,生存期也不必實現告訴編譯器,Java的垃圾回收器會自動收走這些不再使用的資料.存在棧中的資料大小與生存期必須是確定的,缺乏靈活性.棧的存取速度比堆要快,僅次於直接位於CPU中的暫存器.堆由於要在執行時動態分配記憶體,存取速度較慢;
3.棧資料可以共享,如字面量3等;堆不可以;
4.棧是一種線性集合,其新增和刪除元素的操作應在同一段完成,棧按照後進先出的方式進行處理;堆地址是不連續的,可隨機訪問.
相關文章
- 轉載:JAVA企業面試題精選 OOP 1-10Java面試題OOP
- 轉載:JAVA企業面試題精選 OOP 11-20Java面試題OOP
- 轉載:JAVA企業面試題精選 Java基礎 41-50Java面試題
- 轉載:JAVA企業面試題精選 Java基礎 31-40Java面試題
- 轉載:JAVA企業面試題精選 Java基礎 1-10Java面試題
- 轉載:JAVA企業面試題精選 Java基礎 11-20Java面試題
- 轉載:JAVA企業面試題精選 Java基礎 21-30Java面試題
- 轉載:JAVA企業面試題精選 資料庫1-10Java面試題資料庫
- 轉載: JAVA企業面試題精選 資料庫11-20Java面試題資料庫
- JAVA企業面試題精選 MyBatis 1-4Java面試題MyBatis
- Java併發面試題精選Java面試題
- 最新精選Java面試題,附答案!Java面試題
- iOS面試題精選iOS面試題
- 2021精選 Java面試題附答案(一)Java面試題
- 精選30道Java多執行緒面試題Java執行緒面試題
- Java就業企業面試問題-電商專案Java就業面試
- 微軟面試試題精選--9道!<全文及完整答案> (轉)微軟面試
- 精選乾貨:Java精選筆試題附答案Java筆試
- 題庫精講(轉載)
- 精選11道Java技術面試題並有答案(包含部分阿里和華為的面試題)Java面試題阿里
- 26個精選的JavaScript面試問題JavaScript面試
- jQuery經典面試題及答案精選jQuery面試題
- MySQL精選60道面試題 ( 含答案 )MySql面試題
- 入職大廠,齊姐精選的 9 道 Java 集合面試題Java面試題
- JSP企業面試題JS面試題
- OS面試題(轉載)面試題
- 28個MongoDB資料庫精選面試題MongoDB資料庫面試題
- 27道Redis精選面試題,你會做幾題?Redis面試題
- 面試精選之Promise面試Promise
- 【Java面試題】之類載入:從面試題分析Java類載入機制Java面試題
- Android面試題(轉載)Android面試題
- 防火牆企業面試題iptalbes Linux面試題分享防火牆面試題Linux
- 「面試必問」leetcode高頻題精選面試LeetCode
- 100家IT 名企面試必考面試題java系列面試題Java
- Java面試高頻題精選300道題,一份通往阿里的必備指南pdfJava面試阿里
- 企業選擇硬體防火牆的一點建議(轉載)防火牆
- 【週刊-1】三年大廠面試官-面試題精選及答案面試題
- 面試精選之http快取面試HTTP快取