汽車網(wǎng)站的建設(shè)方向東莞網(wǎng)絡(luò)營銷優(yōu)化
主要內(nèi)容:
添加學(xué)生
static關(guān)鍵字
一.添加學(xué)生時(shí)判斷id是否存在
0.思路圖片:
04/圖片/2_添加學(xué)生判斷id存在的問題分析.png
1.思路實(shí)現(xiàn)詳細(xì)步驟:
StudentController【客服接待】
/**
接收到學(xué)生id后,判斷該id在數(shù)組中是否存在
這種判斷屬于業(yè)務(wù)處理
指派StudentService中判斷 id 是否存在
調(diào)用內(nèi)部 isExists方法,該方法返回boolean類型
true: 存在
false: 不存在
接收學(xué)員 id 和判斷的代碼,使用無限循環(huán)包裹直到輸入了不存在的id,結(jié)束循環(huán)
*/
while(true) {System.out.println("請(qǐng)輸入學(xué)生id:");id = sc.next();boolean fag= studentService.isExists(id);if(fag){System.out.println("該學(xué)號(hào)已存在");}else{break;}}
StudentService【業(yè)務(wù)員】
/**
isExists方法
從StudentDao中獲取存儲(chǔ)學(xué)生對(duì)象的數(shù)組,調(diào)用內(nèi)部findAllStudent方法.
該方法返回學(xué)生數(shù)組,遍歷數(shù)組獲取每一個(gè)學(xué)生對(duì)象
判斷學(xué)號(hào)是否存在,返回 true 或 false 結(jié)果
*/
public boolean isExists(String id) {Student[] students = studentDao.findAll();boolean isExists = false; //false不存在for(Student stu: students){if(stu!=null && stu.getId().equals(id)){isExists = true;break;}}return isExists;
}
StudentDao【庫管】
//findAllStudent方法,將學(xué)生數(shù)組返回即可
//返回全部學(xué)生對(duì)象
private Student[] students = new Student[5];
public Student[] findAll() {return students;
}
二.添加學(xué)生時(shí)判斷id是否存在,問題分析
分析圖片:
04/圖片/3_添加學(xué)生時(shí)判斷id是否存在.png
解決:
使用static 關(guān)鍵字解決
思路:將使用的Student[] 學(xué)生數(shù)組變?yōu)楣蚕頂?shù)據(jù),加入static靜態(tài)修飾
三.static關(guān)鍵字
1.概念:
static 關(guān)鍵字是靜態(tài)的意思,是Java中的一個(gè)修飾符,可以修飾成員方法,成員變量。
被static修飾的成員變量,一般叫做靜態(tài)變量
被static修飾的成員方法,一般叫做靜態(tài)方法
2.static 修飾的特點(diǎn)
被類的所有對(duì)象共享
是我們判斷是否使用靜態(tài)關(guān)鍵字的條件
隨著類的加載而加載,優(yōu)先于對(duì)象存在
對(duì)象需要類被加載后,才能創(chuàng)建
可以通過類名調(diào)用
也可以通過對(duì)象名調(diào)用
推薦使用類名調(diào)用
3.static 關(guān)鍵字內(nèi)存圖解
圖:04/圖片/4_static關(guān)鍵字內(nèi)存圖解
4.static 關(guān)鍵字的注意事項(xiàng)
靜態(tài)方法只能訪問靜態(tài)的成員
非靜態(tài)方法可以訪問靜態(tài)的成員,也可以訪問非靜態(tài)的成員
靜態(tài)方法中是沒有this關(guān)鍵字
總結(jié):靜態(tài)方法中,只能訪問靜態(tài)成員,靜態(tài)中沒有this關(guān)鍵字