1. 程式人生 > >Java複習——static關鍵字與main方法

Java複習——static關鍵字與main方法

一、static關鍵字

1、static關鍵字
1)使用static關鍵字修飾一個屬性
宣告為static的變數實質上就是全域性變數
2)使用static關鍵字修飾一個方法
通常,在一個類中定義一個方法為static,那就是說,無需本類的物件即可呼叫此方法
3)使用static關鍵字修飾一個類

2、宣告static的方法限制
宣告static的方法有以下幾條限制
1)它們僅能呼叫其他的static方法
2)它們只能訪問static資料
3)它們不能以任何方式引用this或super

注意:靜態屬性和方法在類載入後就存到方法區記憶體中,此時,還沒有產生物件,而普通方法和屬性屬於物件

/**
    static關鍵字
*/
public class staticKeyWordDemo{
      public static void main(String[] args){
             Mistress m1 = new Mistress("小白");
             Mistress m2 = new Mistress("小紅");
             m1.desc();
             m2.desc();
             m1.profession = "小三";
             m1.desc();
             m2.desc();
             //靜態資料不屬於物件,屬於類
//非靜態的可呼叫靜態的,靜態的最好用類呼叫 //Mistress.profession; //用類呼叫靜態方法 Mistress.promosion(); m1.desc(); } } class Mistress{ String name; static String profession = "情人";//用static修飾屬性 public Mistress(String name){ this
.name = name; } //此處沒有進行封裝 public void desc(){ System.out.println("我的名字是:" + name + "我是職業" + profession); } //晉升 //使用static修飾一個方法(表示這個方法是靜態方法,不屬於物件,屬於類) public static void promosion(){ System.out.println("轉正啦"); profession = "主婦"; } //public與static都是修飾符,Java中沒有嚴格定義其位置 }

二、main方法

為主方法,是程式執行的入口,不需要生成物件就可以呼叫。

   public static void main(String[] args){
      //程式碼塊
   }

public:公有的
static:靜態的
void:表示沒有返回值
main:方法名
String[] args:表示引數為字串陣列

/**
    main方法
*/
public class MainMethodDemo{
       public static void main(String[] args){
             System.out.println(args.length);
             //有物件args,不為空,但長度為0
             //可通過命令列進行傳參格式為:Java 類名 + 引數(如果有多個引數要用空格隔開)
       }
}

三、static作業

題目描述:建立一個羊類,使用static實現數羊,記錄一共建立了幾隻羊。

/**
   作業:
   建立一個羊類,使用static實現數羊,記錄一共建立了幾隻羊。
*/
public class HomeWork{
       public static void main(String[] args){
              Sheep s1 = new Sheep("喜羊羊");
              Sheep s2 = new Sheep("美羊羊");
              Sheep s3 = new Sheep("慢羊羊");
              System.out.println("一共建立了" + Sheep.count + "只羊");
      }
}

class Sheep{
      private String name;
      private static int count = 0;//計數器

      public Sheep(String name){
             this.name = name;
             count++;
      }
      //獲取羊的數量
      public static int getCount(){
             return count;
      }
}