static關鍵字的三大作用
static關鍵字的三大作用:
(推薦教學:java入門教學)
static靜態成員變量
static靜態成員方法
static靜態程式碼區塊
分析:
1、static靜態成員變數
說明:如果一個成員變數使用了static關鍵字,那麼這個變數不再屬於物件自己,而是屬於所在類別。多個物件共享同一份資料。
程式碼範例說明:
我們建立一個Student學生類,設定room教室和idCounter兩個靜態成員變數。在main()方法中實例化兩個學生物件one和two,只給one物件的room賦值,列印輸出的時候會發現此時two.room的值和one.room的值一樣。
可以看出,因為room使用了static關鍵字,所以它屬於類,不再屬於物件自己,可以被多個物件共享一。因為idCounter是一個靜態變量,只會初始化一次,所以,每建立一個物件id都會自增長1。
public class Demo01StaticField { public static void main(String[] args) { Student one=new Student("郭靖",19); Student two=new Student("黄蓉",16); one.room="101教室"; System.out.println("姓名:"+one.getName()+",年龄:" +one.getAge()+",教室:"+one.room +",学号:"+one.getId()); //姓名:郭靖,年龄:19,教室:101教室,学号:1 System.out.println("姓名:"+two.getName() +",年龄:"+two.getAge()+",教室:"+two.room +",学号:"+two.getId()); //姓名:黄蓉,年龄:16,教室:101教室,学号:2 } } public class Student { private int id; //学号 private String name; //姓名 private int age; //年龄 static String room; //所在教室 private static int idCounter=0; //学号计数器,每当new了一个新对象的时候,计数器++ public Student() { this.id= ++idCounter; } public Student(String name, int age) { this.name = name; this.age = age; this.id= ++idCounter; } public int getId() { return id; } public void setId(int id) { this.id = id; } //name和age的Getter,Setter方法同上id,省略 }
2、static靜態成員方法
說明:如果一個成員方法使用了static關鍵字,同樣,那麼這就變成了靜態方法。靜態方法不屬於對象,而是屬於類別的。
static修飾成員方法的優點:避免了new物件的繁瑣和資源的消耗,可以直接透過【類別名稱.方法名稱】來使用。
程式碼範例說明:
新一個Myclass類,裡面有一個成員變量,一個靜態成員變量,一個成員方法,一個靜態成員方法。我們可以看到,成員方法既可以存取成員變數也可以存取靜態變數。而靜態方法只能存取靜態變量,不能存取非靜態,也不能使用this關鍵字。使用該類別的時候,有了static關鍵字,那麼不需要創建對象,直接就能透過類別名稱來使用它。對於本類別當中的靜態方法,可以省略類別名稱。
public class Demo02StaticMethod { public static void main(String[] args) { //非静态方法使用:1.首先创建对象 MyClass obj=new MyClass(); //2.然后才能使用没有static关键字的方法 obj.method(); //对于静态方法来说,可以通过对象名进行调用,也可以通过类名称来调用。 obj.methodStatic(); //正确,不推荐,这种写法也会被javac翻译成“类名称.静态方法名” MyClass.methodStatic(); //正确,推荐 //对于本类当中的静态方法,可以省略类名称 myMethod(); Demo02StaticMethod.myMethod(); //完全等效 } public static void myMethod(){ System.out.println("自己的方法!"); } } public class MyClass { int num; //成员变量 static int numStatic; //静态变量 //成员方法 public void method(){ System.out.println("这是一个普通的成员方法。"); //成员方法可以访问成员变量 System.out.println(num); //成员方法可以访问静态变量 System.out.println(numStatic); } //静态方法 public static void methodStatic(){ System.out.println("这是一个普通的静态方法。"); //静态方法可以访问静态变量 System.out.println(numStatic); //静态不能直接访问非静态【重点】 //System.out.println(num); //错误写法 //静态方法中不能使用this关键字 //System.out.println(this); //错误写法 } }
(學習影片推薦:java課程)
3、static靜態程式碼區塊
格式:
public class 类名称{ static{ //静态代码块的内容 } }
特點:當第一次用到本類時,靜態程式碼區塊執行唯一的一次,可以用來最佳化程式效能。我們大多數情況下,會將一些只會執行一次的初始化操作(初始化靜態資源)的程式碼放在static程式碼區塊中,例如:載入設定檔等。注意:靜態內容總是優先於非靜態,所以靜態程式碼區塊比建構方法先執行。
public class Demo04StaticCode { public static void main(String[] args) { Person one=new Person(); System.out.println("************************"); //无论创建几个Person对象,静态代码块只执行一次 Person two=new Person(); } } public class Person { static{ System.out.println("静态代码块执行!"); } public Person() { System.out.println("构造方法执行!"); } }
執行結果:
以上是static關鍵字的三大作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

深入解析C語言中static關鍵字的功能和用法在C語言中,static是一種非常重要的關鍵字,它可以被用於函數、變數和資料類型的定義。使用static關鍵字可以改變物件的連結屬性、作用域和生命週期,以下就來詳細解析一下static關鍵字在C語言中的作用和用法。 static變數與函數:在函數內部使用static關鍵字定義的變數稱為靜態變量,它具有全域生命週

c語言static的作用與用法:1、變數作用域;2、生命週期;3、函數內部;4、修飾全域變數;5、修飾函數;6、其他用途;詳細介紹:1、變數作用域,當一個變數前有static關鍵字,那麼這個變數的作用域被限制在聲明它的檔案內,也就是說,這個變數是“檔案層級作用域”,這對於防止變數的“重複定義”問題很有用; 2、生命週期,靜態變數在程式開始執行時初始化一次,並在程式結束時銷毀等等。

PHP中var關鍵字的作用和範例在PHP中,var關鍵字用來聲明一個變數。在先前的PHP版本中,使用var關鍵字是宣告成員變數的慣用方式,現在不再建議使用。然而,在某些情況下,var關鍵字依然會被使用。 var關鍵字主要用於宣告一個局部變量,並且會自動將該變數標記為局部作用域。這意味著該變數僅在當前的程式碼區塊中可見,並且不能在其他函數或程式碼區塊中存取。使用var

標題:C語言中go是關鍵字嗎?詳細解析在C語言中,"go"並不是一個關鍵字。 C語言的關鍵字是由C標準規定的,用來表示特定的語法結構或功能,在編譯器中有特殊的意義,不能被用來當作標識符或變數名稱。例如,關鍵字"int"表示整數資料型別,"if"表示條件語句等等。如果我們想要驗證在C語言中"go"是否是關鍵字,可以寫一個簡單的程式來測試。下面是一個範例:#inc

在go語言中,while不是關鍵字,可以用for語句加break來實現while循環的效果,例「for {sum++ if sum>10{break}else{...}}」。 go語言有break、default 、func、select、case、defer、go、map、else、goto、for、if、var等25個關鍵字。

C語言中static關鍵字的實際應用場景及使用技巧一、概述static是C語言中的關鍵字,用來修飾變數與函數。它的作用是改變其在程式運行過程中的生命週期和可見性,使得變數和函數具有靜態的特性。本文將介紹static關鍵字的實際應用場景及使用技巧,並透過具體的程式碼範例進行說明。二、靜態變數延長變數的生命週期使用static關鍵字修飾局部變數可以將其生命週期

一、static 請先看下面這段程式:publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello,world!");//(2)}}看過這段程序,對於大多數學過Java的從來說,都不陌生。即使沒有學過Java,而學過其它的高階語言,例如C,那你也應該能看懂這段程式碼的意思。它只是簡單的輸出“Hello,world”,一點別的用處都沒有,然而,它卻展示了static關鍵字的主

C語言的關鍵字共有32個,根據關鍵字的作用,可分其為資料類型關鍵字、控制語句關鍵字、儲存類型關鍵字和其它關鍵字四類。資料型別關鍵字有12個,包括char、double、float、int等;控制語句關鍵字有12個,包括for、break、if、else、do等;儲存類型關鍵字有4個,包括auto、static 、extern等;其它關鍵字有4個,包括const、sizeof等。
