国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java---類(lèi)、static(靜態(tài))詳解

這篇具有很好參考價(jià)值的文章主要介紹了Java---類(lèi)、static(靜態(tài))詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、類(lèi)

1.1 如何定義類(lèi)

類(lèi)的定義格式如下:

修飾符 class 類(lèi)名 {
 ? ?// 1.成員變量(屬性)
 ? ?// 2.成員方法 (行為) 
 ? ?// 3.構(gòu)造方法 (初始化類(lèi)的對(duì)象數(shù)據(jù)的)
}

例如:

public class Student {
 ? ?// 1.成員變量
 ? ?public String name ;
 ? ?public char sex ; // '男'  '女'
 ? ?public int age;
}

1.2 如何通過(guò)類(lèi)創(chuàng)建對(duì)象

類(lèi)名 對(duì)象名稱(chēng) = new 類(lèi)名();

例如:

Student stu = new Student();

1.3 封裝

1.3.1 封裝的步驟

  1. 使用 private 關(guān)鍵字來(lái)修飾成員變量。
  2. 使用public修飾getter和setter方法。

1.3.2 封裝的步驟實(shí)現(xiàn)

1.private修飾成員變量

public class Student {
 ? ?private String name;
 ? ?private int age;
}

2.public修飾getter和setter方法

public class Student {
 ? ?private String name;
 ? ?private int age;
?
 ? ?public void setName(String n) {
 ? ?    name = n;
 ?  }
?
 ? ?public String getName() {
 ? ?    return name;
 ?  }
?
 ? ?public void setAge(int a) {
 ? ? ? ?if (a > 0 && a <200) {
 ? ? ? ? ? ?age = a;
 ? ? ?  } else {
 ? ? ? ? ? ?System.out.println("年齡非法!");
 ? ? ?  }
 ?  }
?
 ? ?public int getAge() {
 ? ?    return age;
 ?  }
}

2.static定義格式和使用

????????static是靜態(tài)的意思。 static可以修飾成員變量或者修飾方法。

2.1 靜態(tài)變量及其訪(fǎng)問(wèn)

????????有static修飾成員變量,說(shuō)明這個(gè)成員變量是屬于類(lèi)的,這個(gè)成員變量稱(chēng)為類(lèi)變量或者靜態(tài)成員變量。 直接用 類(lèi)名訪(fǎng)問(wèn)即可。因?yàn)轭?lèi)只有一個(gè),所以靜態(tài)成員變量在內(nèi)存區(qū)域中也只存在一份。所有的對(duì)象都可以共享這個(gè)變量。

如何使用呢

????????例如現(xiàn)在我們需要定義傳智全部的學(xué)生類(lèi),那么這些學(xué)生類(lèi)的對(duì)象的學(xué)校屬性應(yīng)該都是“傳智”,這個(gè)時(shí)候我們可以把這個(gè)屬性定義成static修飾的靜態(tài)成員變量。

定義格式

修飾符 static 數(shù)據(jù)類(lèi)型 變量名 = 初始值; ? ?

舉例

public class Student {
 ? ?public static String schoolName = "交大"; // 屬于類(lèi),只有一份。
 ? ?// .....
}

靜態(tài)成員變量的訪(fǎng)問(wèn):

格式:類(lèi)名.靜態(tài)變量

public static void ?main(String[] args){
 ? ?System.out.println(Student.schoolName); 
 ? ?Student.schoolName = "交大";
 ? ?System.out.println(Student.schoolName); // 交大
}

2.2 實(shí)例變量及其訪(fǎng)問(wèn)

????????無(wú)static修飾的成員變量屬于每個(gè)對(duì)象的, 這個(gè)成員變量叫實(shí)例變量,之前我們寫(xiě)成員變量就是實(shí)例成員變量。

需要注意的是:實(shí)例成員變量屬于每個(gè)對(duì)象,必須創(chuàng)建類(lèi)的對(duì)象才可以訪(fǎng)問(wèn)。

格式:對(duì)象.實(shí)例成員變量

2.3 靜態(tài)方法及其訪(fǎng)問(wèn)

有static修飾成員方法,說(shuō)明這個(gè)成員方法是屬于類(lèi)的,這個(gè)成員方法稱(chēng)為類(lèi)方法或者靜態(tài)方法**。 直接用 類(lèi)名訪(fǎng)問(wèn)即可。因?yàn)轭?lèi)只有一個(gè),所以靜態(tài)方法在內(nèi)存區(qū)域中也只存在一份。所有的對(duì)象都可以共享這個(gè)方法。

與靜態(tài)成員變量一樣,靜態(tài)方法也是直接通過(guò)類(lèi)名.方法名稱(chēng)即可訪(fǎng)問(wèn)。

舉例

public class Student{
 ? ?public static String schoolName = "交大"; // 屬于類(lèi),只有一份。
 ? ?// .....
 ? ?public static void study(){
 ?      System.out.println("我們都在交大上學(xué)!"); ? 
 ?  }
}

靜態(tài)成員變量的訪(fǎng)問(wèn):

格式:類(lèi)名.靜態(tài)方法

public static void ?main(String[] args){
 ? ?Student.study();
}

2.4 實(shí)例方法及其訪(fǎng)問(wèn)

????????無(wú)static修飾的成員方法屬于每個(gè)對(duì)象的,這個(gè)成員方法也叫做實(shí)例方法。

需要注意的是:實(shí)例方法是屬于每個(gè)對(duì)象,必須創(chuàng)建類(lèi)的對(duì)象才可以訪(fǎng)問(wèn)。

格式:對(duì)象.實(shí)例方法

示例

public class Student {
 ? ?// 實(shí)例變量
 ? ?private String name ;
 ? ?// 2.方法:行為
 ? ?// 無(wú) static修飾,實(shí)例方法。屬于每個(gè)對(duì)象,必須創(chuàng)建對(duì)象調(diào)用
 ? ?public void run(){
 ? ? ? ?System.out.println("學(xué)生可以跑步");
 ?  }
    // 無(wú) static修飾,實(shí)例方法
 ? ?public ?void sleep(){
 ? ? ? ?System.out.println("學(xué)生睡覺(jué)");
 ?  }
 ? ?public static void study(){
 ? ? ? ?
 ?  }
}
public static void main(String[] args){
 ? ?// 創(chuàng)建對(duì)象 
 ? ?Student stu = new Student ;
 ? ?stu.name = "李四";
 ? ?// Student.sleep();// 報(bào)錯(cuò),必須用對(duì)象訪(fǎng)問(wèn)。
 ? ?stu.sleep();
 ? ?stu.run();
}

2.5?小結(jié)

1.當(dāng) static 修飾成員變量或者成員方法時(shí),該變量稱(chēng)為靜態(tài)變量,該方法稱(chēng)為靜態(tài)方法。該類(lèi)的每個(gè)對(duì)象都共享同一個(gè)類(lèi)的靜態(tài)變量和靜態(tài)方法。任何對(duì)象都可以更改該靜態(tài)變量的值或者訪(fǎng)問(wèn)靜態(tài)方法。但是不推薦這種方式去訪(fǎng)問(wèn)。因?yàn)殪o態(tài)變量或者靜態(tài)方法直接通過(guò)類(lèi)名訪(fǎng)問(wèn)即可,完全沒(méi)有必要用對(duì)象去訪(fǎng)問(wèn)。

2.無(wú)static修飾的成員變量或者成員方法,稱(chēng)為實(shí)例變量,實(shí)例方法,實(shí)例變量和實(shí)例方法必須創(chuàng)建類(lèi)的對(duì)象,然后通過(guò)對(duì)象來(lái)訪(fǎng)問(wèn)。

3.static修飾的成員屬于類(lèi),會(huì)存儲(chǔ)在靜態(tài)區(qū),是隨著類(lèi)的加載而加載的,且只加載一次,所以只有一份,節(jié)省內(nèi)存。存儲(chǔ)于一塊固定的內(nèi)存區(qū)域(靜態(tài)區(qū)),所以,可以直接被類(lèi)名調(diào)用。它優(yōu)先于對(duì)象存在,所以,可以被所有對(duì)象共享。

4.無(wú)static修飾的成員,是屬于對(duì)象,對(duì)象有多少個(gè),他們就會(huì)出現(xiàn)多少份。所以必須由對(duì)象調(diào)用。

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-721165.html

到了這里,關(guān)于Java---類(lèi)、static(靜態(tài))詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java 中的 static:靜態(tài)變量、靜態(tài)方法,一切都在掌握中

    ??:你只管努力,剩下的交給時(shí)間 ?? :小破站 static ,這個(gè)小小的在Java中扮演著重要的角色,但它的用途和工作原理可能會(huì)讓人感到困惑。你是否曾想過(guò)為什么有些方法和變量可以直接從類(lèi)訪(fǎng)問(wèn),而無(wú)需創(chuàng)建實(shí)例?或者為什么某些變量在多個(gè)實(shí)例之間共享相同的值?

    2024年02月04日
    瀏覽(24)
  • Java 基礎(chǔ)進(jìn)階篇(一)——— static 靜態(tài)關(guān)鍵字與單例模式

    Java 基礎(chǔ)進(jìn)階篇(一)——— static 靜態(tài)關(guān)鍵字與單例模式

    static:代表靜態(tài)的意思,可以修飾成員變量,可以修飾成員方法。 static 修飾方法之后稱(chēng)為 靜態(tài)方法(類(lèi)方法) ,修飾成員變量之后稱(chēng)為 靜態(tài)成員變量(類(lèi)變量) 。 static 修飾后的成員變量, 可以被類(lèi)的所有對(duì)象共享 (訪(fǎng)問(wèn)、修改) 。 靜態(tài)成員變量 實(shí)例成員變量 概述 有

    2024年02月01日
    瀏覽(48)
  • 我在VScode學(xué)Java類(lèi)與對(duì)象(Java顯式參數(shù)和隱式參數(shù)、靜態(tài)方法+main方法、Java訪(fǎng)問(wèn)修飾符、static關(guān)鍵字、Java的包、對(duì)象數(shù)組)第三輯

    我在VScode學(xué)Java類(lèi)與對(duì)象(Java顯式參數(shù)和隱式參數(shù)、靜態(tài)方法+main方法、Java訪(fǎng)問(wèn)修飾符、static關(guān)鍵字、Java的包、對(duì)象數(shù)組)第三輯

    我的個(gè)人博客主頁(yè):如果’\\\'真能轉(zhuǎn)義1??說(shuō)1??的博客主頁(yè) 關(guān)于Java基本語(yǔ)法學(xué)習(xí)----可以參考我的這篇博客:《我在VScode學(xué)Java》 方法會(huì)操作對(duì)象并訪(fǎng)問(wèn)他們的實(shí)例字段。 在Java中,顯式參數(shù)和隱式參數(shù)是方法調(diào)用中的兩種不同類(lèi)型的參數(shù)。 注釋?zhuān)?第7行: sum 方法的參數(shù)

    2024年02月16日
    瀏覽(116)
  • 詳解Java的static關(guān)鍵字

    詳解Java的static關(guān)鍵字

    不依賴(lài)于對(duì)象實(shí)例:靜態(tài)方法不需要依賴(lài)于任何對(duì)象實(shí)例,因?yàn)樗鼈兣c具體的對(duì)象實(shí)例無(wú)關(guān)聯(lián)。這意味著在沒(méi)有創(chuàng)建對(duì)象實(shí)例的情況下,就可以直接通過(guò)類(lèi)名訪(fǎng)問(wèn)或調(diào)用靜態(tài)方法。 可以訪(fǎng)問(wèn)靜態(tài)成員:靜態(tài)方法可以訪(fǎng)問(wèn)類(lèi)的靜態(tài)成員(靜態(tài)字段和靜態(tài)方法),但不能訪(fǎng)問(wèn)非靜

    2024年02月05日
    瀏覽(49)
  • 編程開(kāi)發(fā)8大語(yǔ)言詳解,為什么Java是我最推薦的?

    編程開(kāi)發(fā)8大語(yǔ)言詳解,為什么Java是我最推薦的?

    很多沒(méi)有接觸過(guò)編程語(yǔ)言的同學(xué),都會(huì)覺(jué)得編程開(kāi)發(fā)特別高端和神奇,擔(dān)心理解不了更擔(dān)心學(xué)不會(huì)。 當(dāng)然,也有人會(huì)認(rèn)為,你既然是做編程的,那么你應(yīng)該什么都會(huì),什么軟件的開(kāi)發(fā)都能完成,這是平哥經(jīng)常聽(tīng)到的兩種聲音。 在此,平哥需要給大家科普一下, 編程確實(shí)改變

    2024年02月05日
    瀏覽(18)
  • c++中static靜態(tài)成員變量和靜態(tài)成員函數(shù)、explcit和隱式類(lèi)型轉(zhuǎn)換、友元函數(shù)()詳解

    聲明為 static 的類(lèi)成員 稱(chēng)為 類(lèi)的靜態(tài)成員 ,用 static 修飾的 成員變量 ,稱(chēng)之為 靜態(tài)成員變量 ;用 static 修飾 的 成員函數(shù) ,稱(chēng)之為 靜態(tài)成員函數(shù) 。 靜態(tài)成員變量一定要在類(lèi)外進(jìn)行初始化 ? 靜態(tài)成員 為 所有類(lèi)對(duì)象所共享 ,不屬于某個(gè)具體的對(duì)象,存放在靜態(tài)區(qū) ? 靜態(tài)成

    2024年02月04日
    瀏覽(22)
  • 【Java萬(wàn)花筒】無(wú)服務(wù)器靜態(tài)網(wǎng)站開(kāi)發(fā):Java靜態(tài)站點(diǎn)生成庫(kù)的選擇與實(shí)踐

    在當(dāng)今互聯(lián)網(wǎng)時(shí)代,靜態(tài)網(wǎng)站已經(jīng)成為了展示個(gè)人作品、技術(shù)文檔、博客等內(nèi)容的常見(jiàn)形式。靜態(tài)站點(diǎn)生成器為我們提供了一種快速、簡(jiǎn)單的方式來(lái)創(chuàng)建、管理和發(fā)布靜態(tài)網(wǎng)站,從而使我們能夠?qū)W⒂趦?nèi)容本身而不必?fù)?dān)心復(fù)雜的后端邏輯和數(shù)據(jù)庫(kù)管理。本文將介紹幾種流行的

    2024年02月21日
    瀏覽(30)
  • 【C語(yǔ)言】static關(guān)鍵字詳解

    【C語(yǔ)言】static關(guān)鍵字詳解

    目錄 1.static是什么? 2.static修飾的對(duì)象是? 3.static修飾后改變了什么? 4.static修飾操作演示 (1) 局部變量 如果加了static修飾局部變量i會(huì)怎么樣? 全局區(qū)(靜態(tài)區(qū)) (2)?全局變量 如果給全局變量加上了static修飾呢? 二者區(qū)別?? 這樣用有什么用? (3)?函數(shù) 5.總結(jié)

    2024年02月10日
    瀏覽(18)
  • C語(yǔ)言之static關(guān)鍵字詳解

    C語(yǔ)言之static關(guān)鍵字詳解

    ?前言: 一、幾個(gè)概念 1.變量 2.局部變量和全局變量 3.變量的作用域 4.變量的生命周期 二、static的作用 三、static修飾局部變量 四、static修飾全局變量 ?五、static修飾函數(shù) ?寫(xiě)在最后: ? ? ? ? ? ?static,英文意思靜態(tài)的,作為C語(yǔ)言常用中一

    2024年02月03日
    瀏覽(26)
  • Java 代理模式詳解,靜態(tài)代理與動(dòng)態(tài)代理的區(qū)別及優(yōu)缺點(diǎn)

    代理模式是一種常用的設(shè)計(jì)模式,它允許通過(guò)引入一個(gè)代理對(duì)象來(lái)控制對(duì)目標(biāo)對(duì)象的訪(fǎng)問(wèn)。在Java中,代理模式被廣泛應(yīng)用,它可以提供額外的功能,如權(quán)限檢查、緩存、日志記錄等,同時(shí)還能在不修改目標(biāo)對(duì)象的情況下對(duì)其進(jìn)行擴(kuò)展。 代理模式(Proxy Pattern)是指通過(guò)代理對(duì)象

    2024年02月11日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包