1.區域性變數 、形參或者其他與屬性、方法或者其他重名
導致直接通過名第一行
字訪問出現歧義
(name shadow)命名遮擋
關鍵字 this
通過this全名稱訪問屬性、方法
通過this 呼叫其他的構造方法
但是this的呼叫,必須出現在構造方法的 第一行
this代表的就是這個物件本身
1.static 關鍵字用法
修飾屬性 靜態屬性\類變數
修飾方法 靜態方法
修飾內部類
修飾**塊
improt static 包;
最核心的部分:static 和物件進行解綁
1.靜態屬性 vs 屬性
存放在類(方法區) 存放在物件(堆)
[訪問限定符] static 資料型別 靜態屬性的名稱;
如何訪問靜態屬性
在類內部,以名稱直接訪問
在類外部 ,persencreatedcount
object.createdcount 不建議
2.靜態方法
語法【訪問限定符】static 返回值 方法名(引數列表)
public static void main (string args){}
靜態方法 vs 方法
沒有這個隱式物件 隱式的傳入乙個物件做為引數
舉例:簡單感受物件導向的語言
/*//1.功能
//如何設計乙個日期類
//按年月日構造日期類
//在當前日期上增加多少天
//在當前日期上減少多少天
/ /可以返回字串 eg:"2019-05-20"
//支援範圍:1900-2023年
//如果給定兩個日期,算出所差天數
2.設計屬性
int型 年月日
*/public class date
if(month<1 ||month>12)
if(day<1||day>getdayofmonth(year,month))
this.year=year;
this.month=month;
this.day=day;
} private date (date other)
public void add(int days)
day+=days;
while (day >getdayofmonth(year,month))
}} public void sub(int days)
day-=days;
while (day<1)
day+=getdayofmonth(year,month);
}} public string tostring()
public static int differ(date d1,date d2)
int days=0;
date tmp = new date (d1);
while (isgreatthan(tmp,d2))
return days;
} //內部使用方法
private static final int day_of_month= ;
private static int getdayofmonth(int year,int month)
return days;
} private static boolean isleapyear(int year)
return false;
} private static boolean isgreatthan (date d1,date d2)
if(d1.year==d2.year&&d1.month>d2.month)
if (d1.year==d2.year&&d1.month==d2.month&&d1.day>d2.day)
return false;
} public static void main (string args)
}
因為沒有物件(隱式)
this 關鍵字不能用
物件的普通屬性不能訪問
無法呼叫普通方法
呼叫靜態方法
內部 直接呼叫
外部 /內部 類名稱、方法(…) //最推薦對的方法
外部 /內部 物件名稱、方法(…) //不推薦
python入門基礎6
在程式執行過程中發生的任何錯誤都是異常。每個異常顯示一些相關的錯誤資訊,比如你在 python3 中使用 python2 獨有的語法就會發生syntaxerror 不小心在行首多打了乙個空格就會產生indentationerror 當訪問乙個未定義的變數則會發生nameerror 最後一行包含了錯誤...
JAVA基礎學習(6)
接上文5 構造方法不恩能被繼承 儘管乙個子類從父類繼承多所有的方法和變數,但是不繼承構造方法,掌握這一點很重要。個類能到構造方法,只有兩個辦法,只有兩個辦法。或者寫構造方法,或者根本沒有寫構造方法,類有乙個預設的構造方法。關鍵字 super 關鍵字 super 可被用來應用該類的父親,它被用來應用弗...
java入門基礎學習 陣列
陣列 相同型別資料的有序集合。基本特點 1.長度是確定的 2.其元素必須是相同型別的,不允許出現混合型別 3.陣列型別可以是任何資料型別,包括基本資料型別和引用。陣列變數屬引用型別,陣列是物件,陣列中每個元素相當於該物件的成員變數。陣列的宣告 1.type arr name 2.type arr n...