1.圖

~~~
/**
* static關鍵字
* 作用:是一個修飾符,用于修飾成員(成員變量,成員方法)
* 1.被static修飾后的成員變量只有一份
* 2.當成員被static修飾之后,多了一種訪問方式,除了
* 可以對象調用之外,還可以被類名直接調用(類名.靜態成員)
* static的特點:
* 1.隨著類的加載而被加載
* 2.優先于對象的存在
* 3.被所有的對象所共享的
* 4.可以直接被類名所調用
*
* 存放位置
* 類變量隨著類的加載二存在于data內存區
* 實例變量隨著對象的建立二存在于堆內存
*
* 生命周期:
*
*/
~~~
~~~
package obj.b3;
public class Tset {
public static void main(String[] args) {
System.out.println(Student.country);
/*Student a =new Student();
a.country="中國";
Student b =new Student();
System.out.println(b.country);*/
}
}
class Student{
String name;
int age;//實例變量
static String country;//靜態變量(類變量)
}
~~~
~~~
/**
* static關鍵字
* 作用:是一個修飾符,用于修飾成員(成員變量,成員方法)
* 1.被static修飾后的成員變量只有一份
* 2.當成員被static修飾之后,多了一種訪問方式,除了
* 可以對象調用之外,還可以被類名直接調用(類名.靜態成員)
* static的特點:
* 1.隨著類的加載而被加載
* 2.優先于對象的存在
* 3.被所有的對象所共享的
* 4.可以直接被類名所調用
*
* 存放位置
* 類變量隨著類的加載二存在于data內存區
* 實例變量隨著對象的建立二存在于堆內存
*
* 生命周期:
*
* 方法注意事項:
* 1.靜態的方法只能訪問靜態的成員
* 2.非靜態的方法既能訪問靜態的成員(成員變量,成員方法)也能訪問非靜態成員
* 3.靜態的方法中是不可以定義this super關鍵字
* 因為靜態優先于對象的存在,所以靜態方法不可以出現this
*
* 什么時候使用靜態
* static所修飾的內容是成員(成員變量,方法)
* 從兩方面入手:
* 什么時候使用靜態的成員變量:
* 當屬于同一個類的所有對象出現共享數據時,
* 需要將存儲這個共享數據的成員變量用static修飾
*
* 什么時候使用靜態方法
* 當功能內部沒有訪問到非靜態成員時(對象特有的數據)
* 那么該功能可以定義成靜態的
*
*/
~~~
~~~
package obj.b3;
public class Tset {
public static void main(String[] args) {
Student.print();
//Student.p();錯誤的
}
}
class Student{
String name;
int age;//實例變量
static String country;//靜態變量(類變量)
static void print(){
String AA="你好";
System.out.println(country);//對
//System.out.println(age);//錯,這是非靜態成員
System.out.println(AA);//對,這是局部變量,不是成員變量
}
void p(){
System.out.println(country);
}
}
~~~
- 書寫心得
- 1.初識Java
- 2.變量、數據類型和運算符
- 實例:數據的輸入
- 實例:變量互換
- 3.條件選擇結構
- 案例:判斷年份是否為閏年
- 案例:生成隨機數
- 實例:剪刀石頭布
- 4.循環結構
- 實例:猜數字游戲
- Myeclipse
- 實例:九九乘法表
- 實例:日歷
- 5.數組
- JVM內存分析
- 鍵盤錄入賦值數組
- 數組的length屬性
- 數組的最大值(打擂臺)
- 數組的排序
- 數組復制算法
- 數組的查找算法(搜索)
- 數組的插入算法
- 數組的冒泡算法
- 數組的選擇排序
- 多維數組
- 實例:學生成績管理系統
- 類和對象
- 概念
- 內存分析
- 創建類和對象
- 面向對象與內存分析
- 有參數無(有)返回值的調用
- 成員變量
- return和多參方法
- toString方法
- this關鍵字
- 封裝
- 方法的重載
- 構造方法
- 階段性總結
- 實例:學生管理系統
- Test.java
- Student.java
- Admin.java
- 構造代碼塊及構造函數之間的調用
- main方法和靜態應用工具類及classpath
- static關鍵字
- 文檔注釋和靜態代碼塊及單例模式
- 繼承
- 多態
- 匿名對象和toString()和equals及final
- 抽象類和模板方法設計模式
- 接口
- 包機制和包與包之間的訪問權限和jar包