Java複習——static關鍵字與main方法
阿新 • • 發佈:2019-02-04
一、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;
}
}