静态static关键字修饰成员方法
生活随笔
收集整理的這篇文章主要介紹了
静态static关键字修饰成员方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
package cn.learn.day08.demo03;public class MyClass {int num; // 成員變量static int numStatic; // 靜態(tài)變量// 成員方法public void method() {System.out.println("這是一個(gè)成員方法。");// 成員方法可以訪問(wèn)成員變量System.out.println(num);// 成員方法可以訪問(wèn)靜態(tài)變量System.out.println(numStatic);}// 靜態(tài)方法public static void methodStatic() {System.out.println("這是一個(gè)靜態(tài)方法。");// 靜態(tài)方法可以訪問(wèn)靜態(tài)變量System.out.println(numStatic);// 靜態(tài)不能直接訪問(wèn)非靜態(tài)【重點(diǎn)】
// System.out.println(num); // 錯(cuò)誤寫(xiě)法!// 靜態(tài)方法中不能使用this關(guān)鍵字。
// System.out.println(this); // 錯(cuò)誤寫(xiě)法!}}
package cn.learn.day08.demo03;/*
一旦使用static修飾成員方法,那么這就成為了靜態(tài)方法。靜態(tài)方法不屬于對(duì)象,而是屬于類的。如果沒(méi)有static關(guān)鍵字,那么必須首先創(chuàng)建對(duì)象,然后通過(guò)對(duì)象才能使用它。
如果有了static關(guān)鍵字,那么不需要?jiǎng)?chuàng)建對(duì)象,直接就能通過(guò)類名稱來(lái)使用它。無(wú)論是成員變量,還是成員方法。如果有了static,都推薦使用類名稱進(jìn)行調(diào)用。
靜態(tài)變量:類名稱.靜態(tài)變量
靜態(tài)方法:類名稱.靜態(tài)方法()注意事項(xiàng):
1. 靜態(tài)不能直接訪問(wèn)非靜態(tài)。
原因:因?yàn)樵趦?nèi)存當(dāng)中是【先】有的靜態(tài)內(nèi)容,【后】有的非靜態(tài)內(nèi)容。
“先人不知道后人,但是后人知道先人。”
2. 靜態(tài)方法當(dāng)中不能用this。
原因:this代表當(dāng)前對(duì)象,通過(guò)誰(shuí)調(diào)用的方法,誰(shuí)就是當(dāng)前對(duì)象。*/
public class Demo02StaticMethod {public static void main(String[] args) {MyClass obj = new MyClass(); // 首先創(chuàng)建對(duì)象// 然后才能使用沒(méi)有static關(guān)鍵字的內(nèi)容obj.method();// 對(duì)于靜態(tài)方法來(lái)說(shuō),可以通過(guò)對(duì)象名進(jìn)行調(diào)用,也可以直接通過(guò)類名稱來(lái)調(diào)用。obj.methodStatic(); // 正確,不推薦,這種寫(xiě)法在編譯之后也會(huì)被javac翻譯成為“類名稱.靜態(tài)方法名”MyClass.methodStatic(); // 正確,推薦// 對(duì)于本來(lái)當(dāng)中的靜態(tài)方法,可以省略類名稱myMethod();Demo02StaticMethod.myMethod(); // 完全等效}public static void myMethod() {System.out.println("自己的方法!");}}
?
總結(jié)
以上是生活随笔為你收集整理的静态static关键字修饰成员方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 静态static关键字修饰成员变量
- 下一篇: 静态static的内存图