
ในส่วนของการใช้คีย์เวิร์ด เรารู้บางอย่างเกี่ยวกับวิธีการคงที่แล้ว เพื่อป้องกันข้อผิดพลาดที่ไม่จำเป็นเมื่อใช้งาน ทุกคนจะต้องเข้าใจขอบเขตการใช้งานของมัน บทความนี้แบ่งประเด็นที่ควรทราบเมื่อใช้สแตติกออกเป็นสองประเด็น ด้านหนึ่งคือขอบเขตของการเข้าถึง และอีกด้านคือหมายเหตุเกี่ยวกับการเรียกใช้เมธอด
1. เมื่อใช้วิธีการคงที่ คุณสามารถเข้าถึงได้เฉพาะคุณสมบัติและวิธีการที่ประกาศแบบคงที่เท่านั้น แต่ไม่สามารถเข้าถึงคุณสมบัติและวิธีการที่ไม่ประกาศแบบคงที่ได้
แพ็คเกจ com.jk.ref;
คนในชั้นเรียน{
ชื่อสตริง;
ประเทศ String คงที่ส่วนตัว = "จีน";
คนสาธารณะ (ชื่อสตริง) {
นี้.ชื่อ=ชื่อ;
-
โมฆะสาธารณะบอก () {
System.out.println("ชื่อ:"+ชื่อ+" "+"ประเทศ:"+ประเทศ);
-
-
*@กลับประเทศ
-
สาธารณะสตริงคงที่ getCountry() {
ประเทศที่เดินทางกลับ;
-
-
* @param country ประเทศที่จะตั้งค่า
-
โมฆะสาธารณะ setCountry (ประเทศสตริง) {
People.country = ประเทศ;
-
-
StaticDemo01 คลาสสาธารณะ {
โมฆะคงที่สาธารณะ main (String [] args) {
// TODO ต้นขั้ววิธีการสร้างอัตโนมัติ
People.setCountry("เซี่ยงไฮ้");
People ps1=คนใหม่("จางซาน");
//People.country="เซี่ยงไฮ้";
ps1.บอก();
People ps2=คนใหม่("lisi");
// ps2.country="เซี่ยงไฮ้";
ps2.บอก();
ผู้คน ps3=คนใหม่("wangwu");
// ps3.country="เซี่ยงไฮ้";
ps3.บอก();
-
- 2. การอ้างอิงคลาสพาเรนต์สามารถปรับเฉพาะเมธอดที่ถูกแทนที่ของคลาสพาเรนต์และคลาสลูกเท่านั้น จะไม่ถูกเขียนทับแต่ถูกบดบัง
TestMain คลาสสาธารณะ {
โมฆะคงที่สาธารณะ main (String [] args) {
Super sup = new Sub(); //Encapsulation (รูปร่างขึ้นด้านบน)
sup.m1(); //การอ้างอิงคลาสพาเรนต์ไม่สามารถปรับเมธอด unoverridden ของคลาสย่อยได้ และเอาต์พุต mi เป็น Super
sup.m2();//เรียกเมธอดคลาสย่อย m2 สืบทอดและสร้างเมธอดคลาสพาเรนต์ก่อน เขียนทับ (เขียนใหม่) เมธอดด้วยชื่อเมธอดเดียวกัน และเอาต์พุต m2 ใน Sub
Sub sub = (Sub)sup; //Unboxing (รูปร่างลง)
sub.m1(); //เรียกเมธอดคลาสย่อยแบบคงที่ m1 ขั้นแรกให้สร้างเมธอดคลาสพาเรนต์ ชื่อเมธอดเหมือนกัน ชื่อเมธอดเป็นเมธอดเดียวกัน เอาต์พุต m2 ใน Sub
sub.m2();//เรียกเมธอดคลาสย่อย m2 สืบทอดและสร้างเมธอดคลาสพาเรนต์ก่อน เขียนทับ (เขียนใหม่) เมธอดด้วยชื่อเมธอดเดียวกัน และเอาต์พุต m2 ใน Sub
-
-
คลาส Super { // คลาสพาเรนต์โมฆะสาธารณะคงที่ m1 () { // วิธีการคงที่คลาสพาเรนต์ System.out.println ("m1 ใน Super");
-
โมฆะสาธารณะ m2 () { // วิธีการเรียนระดับพาเรนต์ System.out.println ("m2 ใน Super");
-
-
คลาสย่อยขยาย Super { // คลาสย่อยสาธารณะโมฆะคงที่ m1 () { // คลาสย่อยวิธีคงที่ System.out.println (“ m1 ในย่อย”);
-
โมฆะสาธารณะ m2 () { // วิธีคลาสย่อย System.out.println ("m2 ใน Sub");
-
-ข้างต้นคือจุดที่ควรทราบเมื่อใช้สแตติกใน Java ในระหว่างการดำเนินการเฉพาะ อย่าละเลยรายการการใช้งานทั้งสองนี้ จุดข้อผิดพลาดทั่วไปที่มือใหม่มักพบเมื่อฝึกซ้อม