JAVA入門基礎(chǔ)知識系列006-創(chuàng)新互聯(lián)

2022.12.13【有錯誤希望指正】 this關(guān)鍵字

理解:

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)蒙城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

? 被哪個對象調(diào)用,this就指向哪個對象

注意事項(xiàng)和使用細(xì)節(jié):

  • this關(guān)鍵字可以用來訪問本類的屬性、方法、構(gòu)造器
  • this用于區(qū)分當(dāng)前類的屬性和局部變量(加了this前綴的就指向?qū)傩裕?/li>
  • 訪問成員的語法:this.方法名(參數(shù)列表);
  • 訪問構(gòu)造器語法:this(參數(shù)列表);只能在構(gòu)造器中調(diào)用this訪問另一個構(gòu)造器,并且該條語句必須放在構(gòu)造器中第一條
  • this不能在類定義的外部使用,只能在類中的方法使用,否則找不到this指向哪個對象。

題外知識:

  1. String轉(zhuǎn)char*

    • string str = "hello";
      const char* p = str.data();//加const或者用char* p = (char*)str.data();的形式,c_str()方法也有同樣的效果
    • string str = "world";
      char p[50];
      str.copy(p, 5, 0);//這里5代表復(fù)制幾個字符,0代表復(fù)制的位置
      *(p + 5) = '\0';//手動添加結(jié)束符!??!
  2. char*轉(zhuǎn)string

    • //直接賦值
      string s;
      char* p = "hello";
      s = p;
2022.12.21 包 包的本質(zhì)

包的本質(zhì)就是創(chuàng)建不同的文件夾來保存類文件

包的三大作用:
  • 區(qū)分相同名字的類
  • 當(dāng)類很多時,可以很好的管理類【看java API文檔】
  • 控制訪問范圍
包的使用規(guī)范
  1. package關(guān)鍵字,表示打包
  2. com.hspedu表示包名

舉例:package com.hspedu

命名規(guī)范:一般是com.公司名.項(xiàng)目名.業(yè)務(wù)模塊名

com.sina.crm.user//用戶模塊

com.sina.crm.order//訂單模塊

com.sina.crm.utils//工具類

常用的包

java.lang.* //jang包時基本包,默認(rèn)引入,不需要再引入

java.util.* //系統(tǒng)提供的工具包,使用Scanner

java.net.* //網(wǎng)絡(luò)包,網(wǎng)絡(luò)開發(fā)

java.awt.* //做java界面開放,GUI

包的引入

import java.util.Scanner;//只會引入java.util包下的Scanner

import java.util.*;//會引入java.util包下面的所有類

**注意:**import只能放在package的下面,一個類中最多只有一個package,指示當(dāng)前文件屬于哪個包

訪問修飾符
1訪問級別訪問控制修飾符同類同包子類不同包
2公開public
3受保護(hù)protected×
4默認(rèn)沒有修飾符××
5私有private×××
  • 使用注意事項(xiàng)
    1. 修飾符可以修飾類中屬性,成員方法和類
    2. 只有默認(rèn)和public才能修飾類
封裝

定義:

封裝(encapsulation)就是把抽象出的數(shù)據(jù)[屬性]和對數(shù)據(jù)的操作[方法]封裝在一起,數(shù)據(jù)被保護(hù)在內(nèi)部,程序的其他部分只有通過被授權(quán)的操作[方法]才能對數(shù)據(jù)進(jìn)行操作。

好處:

  1. 隱藏實(shí)現(xiàn)細(xì)節(jié)
  2. 可以對數(shù)據(jù)進(jìn)行驗(yàn)證,保證安全合理
實(shí)現(xiàn)步驟
  1. 將屬性進(jìn)行私有化private【不能直接修改屬性】
  2. 提供一個公共的(public)set方法,用于對屬性判斷并賦值
  3. 提供一個公共的(public)get方法,用于獲取屬性的值
繼承

介紹:

繼承可以解決代碼復(fù)用,當(dāng)多個類存在相同 的屬性(變量)和方法時,可以從這些類中抽象出父類,在父類中定義這些相同的屬性和方法,所以子類不需要重新定義這些屬性和方法,只需要通過extends來聲明繼承父類即可。

繼承的基本語法:

class 子類 extends 父類{}
  1. 子類會自動擁有父類定義的屬性和方法
  2. 父類又叫超類、基類
  3. 子類又叫派生類

子類必須繼承父類的構(gòu)造器 ,完成父類初始化

當(dāng)創(chuàng)建子類對象時,不管使用子類的哪個構(gòu)造器,默認(rèn)情況下總會去調(diào)用父類的無參構(gòu)造器,如果父類沒有提供無參構(gòu)造器,則必須在子類的構(gòu)造器中用super去指定使用父類的哪個構(gòu)造器完成對父類的初始化工作。

super必須放在構(gòu)造器的第一行,所以不能和this()連用

java所有類都是Object類的子類,Object是所有類的基類

父類構(gòu)造器的調(diào)用不限于直接父類,將一直往上追溯到Object類(頂級父類)

子類最多只能繼承一個父類,單繼承機(jī)制

方法重寫/覆蓋(override)

基本介紹:

子類中的一個方法和父類中一個方法的方法名,傳入?yún)?shù)都一樣,返回類型與父類同名方法返回類型一樣或是其子類,則子類中的這個方法會覆蓋父類中的方法。

注意事項(xiàng):

子類方法重寫不能縮小訪問權(quán)限,可以擴(kuò)大訪問權(quán)限

名稱發(fā)生范圍方法名參數(shù)列表返回類型修飾符
重載本類必須一樣類型、個數(shù)或者順序至少有一個不同無要求無要求
重寫父子類必須一樣相同子類重寫的方法返回類型和父類的類型一致或者是其子類子類方法不能縮小父類方法的訪問范圍
多態(tài) 面向?qū)ο蟮亩鄳B(tài)
  • 重要的幾句話:
    1. 一個對象的編譯類型和運(yùn)行類型可以不一致
    2. 編譯類型在定義對象時就確定了,不能改變
    3. 運(yùn)行類型是可以變化的
    4. 編譯類型看定義時 = 號的左邊,運(yùn)行內(nèi)心看 = 號的右邊

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前文章:JAVA入門基礎(chǔ)知識系列006-創(chuàng)新互聯(lián)
瀏覽地址:http://www.muchs.cn/article12/shcdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、建站公司、服務(wù)器托管、微信小程序、電子商務(wù)、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)