java入門基礎 6

2021-09-23 13:16:52 字數 2329 閱讀 4644

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...