Java中的static詳細講解
【1】static可以修飾:屬性,方法,程式碼塊,內部類。
【2】static修飾屬性;
public class Test {
//屬性:
int id;
static int sid;
//這是一個main方法,是程式的入口:
public static void main(String[] args) {
//建立一個Test類的具體的物件
Test t1 = new Test();
t1.id = 10;
t1.sid = 10;
Test t2 = new Test();
t2.id = 20;
t2.sid = 20;
Test t3 = new Test();
t3.id = 30;
t3.sid = 30;
//讀取屬性的值:
System.out.println(t1.id);
System.out.println(t2.id);
System.out.println(t3.id);
System.out.println(t1.sid);
System.out.println(t2.sid);
System.out.println(t3.sid);
}
}
記憶體分析:
一般官方的推薦訪問方式:可以通過類名.屬性名的方式去訪問:
static修飾屬性總結:
(1)在類載入的時候一起載入入方法區中的靜態域中
(2)先於物件存在
(3)訪問方式: 物件名.屬性名 類名.屬性名(推薦)
static修飾屬性的應用場景:某些特定的資料想要在記憶體中共享,只有一塊 --》這個情況下,就可以用static修飾的屬性
public class MsbStudent {
//屬性:
String name;
int age;
static String school;
//這是一個main方法,是程式的入口:
public static void main(String[] args) {
MsbStudent.school = "static詳細講解";
//建立學生物件:
MsbStudent s1 = new MsbStudent();
s1.name = "張三";
s1.age = 19;
//s1.school = "static詳細講解";
MsbStudent s2 = new MsbStudent();
s2.name = "李四";
s2.age = 21;
//s2.school = "static詳細講解";
System.out.println(s2.school);
}
}
屬性:
靜態屬性 (類變數)
非靜態屬性(例項變數)
【3】static修飾方法;
public class Demo {
int id;
static int sid;
public void a(){
System.out.println(id);
System.out.println(sid);
System.out.println("------a");
}
//1.static和public都是修飾符,並列的沒有先後順序,先寫誰後寫誰都行
static public void b(){
//System.out.println(this.id);//4.在靜態方法中不能使用this關鍵字
//a();//3.在靜態方法中不能訪問非靜態的方法
//System.out.println(id);//2.在靜態方法中不能訪問非靜態的屬性
System.out.println(sid);
System.out.println("------b");
}
//這是一個main方法,是程式的入口:
public static void main(String[] args) {
//5.非靜態的方法可以用物件名.方法名去呼叫
Demo d = new Demo();
d.a();
//6.靜態的方法可以用 物件名.方法名去呼叫 也可以 用 類名.方法名 (推薦)
Demo.b();
d.b();
}
}
相關文章
- 指標的詳細講解指標
- dart類詳細講解Dart
- react的詳細知識講解!React
- 教科書級講解,秒懂最詳細Java的註解Java
- ES6中rest引數詳細講解REST
- Go Struct超詳細講解GoStruct
- Java集合詳解8:Java集合類細節精講,細節決定成敗Java
- Java面試-List中的sort詳細解讀Java面試
- DeFi和CeFi的區別詳細講解
- 詳細講解函式呼叫原理函式
- MyBatis-Plus詳細講解(一)MyBatis
- 一看你就懂,超詳細 java 中的 ClassLoader 詳解Java
- Spring @Conditional註解 詳細講解及示例Spring
- java中的Static、final、Static final各種用法Java
- 詳細講解23種設計模式設計模式
- Java中static的含義Java
- Java註解最全詳解(超級詳細)Java
- 史上最詳細的 webpack 講解 1 (vue-cli 中 build.js)WebVueUIJS
- java中cookie操作詳細JavaCookie
- 演算法--揹包九講(詳細講解+程式碼)演算法
- C# 之 static的用法詳解C#
- MVC 三層架構案例詳細講解MVC架構
- 詳細講解!RabbitMQ防止資料丟失MQ
- spring 詳細講解(ioc,依賴注入,aop)Spring依賴注入
- Mbps 及其相關單位詳細講解
- 網路安全Bypass網路卡詳細講解
- A*演算法(超級詳細講解,附有舉例的詳細手寫步驟)演算法
- EventBus 3.0+ 原始碼詳解(史上最詳細圖文講解)原始碼
- java中的static關鍵字Java
- vue中$nextTick詳細講解保證你一看就明白Vue
- CSS中position屬性( absolute | relative | static | fixed )詳解CSS
- 最詳細的測試用例設計方法講解
- 最全面最詳細的字符集講解來了!
- 機器學習之決策樹詳細講解及程式碼講解機器學習
- AD模數轉換(ADC)在音訊處理中的詳細深度講解音訊
- [JAVA] 不僅有Java運算子,更有優先順序講解,可以說很詳細了Java
- Java中的ThreadLocal詳解Javathread
- webpack4.x最詳細入門講解Web