您好,登錄后才能下訂單哦!
本篇內容主要講解“Java中static關鍵字的介紹和用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java中static關鍵字的介紹和用法”吧!
用類名去調用static有兩層含義:
1. 可以理解為其為整個類公有的內容。
2. 可以理解為不需要創建對象就可以直接使用。
class Student {
private String name;
private String no;
// 此處省略掉getter和setter
public static String school;
public static void main(String[] args) {
Student stu1 = new Student();
stu1.setName("某某某");
stu1.setNo("1001");
Student.school = "千鋒";
Student stu2 = new Student();
Student.school = "千鋒教育";
System.out.println(Student.school);
}
}
2. 當其修飾方法時,該方法不需要對象調用,直接使用類名即可調用。
// 只顯示代碼片段
public static String getSchool() {
return school;
}
// 其他位置調用
System.out.println(Student.getSchool());
注意:在static方法中不能調用普通屬性。也不能使用this關鍵字。因為static方法是使用類名調用的,而使用時不能判斷是否創建對象,所以根本不能調用對象所對應的方法或屬性,只能調用static的屬性或方法。
代碼塊,是指在類中,直接使用{}中間寫一段代碼,此代碼不需要手動調用,在每次創建對象時會自動調用,甚至會在構造方法之前調用。
public class Student {
private String name;
private String no;
public static String school;
public Student(){
System.out.println("無參構造函數");
}
{
System.out.println("此處是代碼塊");
}
}
3. 當static修飾代碼塊時,該代碼塊為靜態代碼塊,在類加載時調用,僅在第一次加載時調用一次。不需要創建對象。如果創建了對象,調用次序為:先調用static代碼塊,再調用代碼塊,最后調用構造方法。
public class Student {
private String name;
private String no;
public static String school;
public Student(){
System.out.println("無參構造函數");
}
{
System.out.println("此處是代碼塊");
}
static{
System.out.println("此處是靜態代碼塊");
}
}
當有一個父類Person,有一個子類Student,分別都有構造方法,代碼塊和靜態代碼塊時,創建一個子類對象,調用次序為:
此處是Person靜態代碼塊
此處是Student靜態代碼塊
此處是Person代碼塊
Person無參構造函數
此處是Student代碼塊
Student無參構造函數
代碼如下:
public class Person {
public Person(){
System.out.println("Person無參構造函數");
}
{
System.out.println("此處是Person代碼塊");
}
static{
System.out.println("此處是Person靜態代碼塊");
}
}
public class Student extends Person{
public Student(){
System.out.println("Student無參構造函數");
}
{
System.out.println("此處是Student代碼塊");
}
static{
System.out.println("此處是Student靜態代碼塊");
}
}
總結一句:static其實翻譯類的,更容易理解,比如static修飾屬性,稱為類屬性,static修飾方法,稱為類方法。
到此,相信大家對“Java中static關鍵字的介紹和用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。