/*
接口的成員特點(diǎn):
A:成員變量:
只能是常量,并且是靜態(tài)的。
默認(rèn)修飾符:public static final 建議自己手動(dòng)給出。
B:構(gòu)造方法:接口沒(méi)有構(gòu)造方法
C:成員方法:只能是抽象方法。
默認(rèn)修飾符:public abstract 建議自己手動(dòng)給出
所以的類(lèi)都默認(rèn)繼承自一個(gè)類(lèi) Object
類(lèi) Object是類(lèi)層次結(jié)構(gòu)的根類(lèi),每個(gè)類(lèi)都使用Object作為超類(lèi)。
*/
====================成員變量 測(cè)試練習(xí)============================
interface Person{
public int num =10; public final int num2 =20; } class Student implements Person{ }
class Test{ public static void main(String [] args){ Person p =new Student(); System.out.println(p.num); System.out.println(p.num2); } } 結(jié)果:
10
20
==========================成員變量 測(cè)試練習(xí)============================
interface Person{
public int num =10; public final int num2 =20; } class Student implements Person{ }
class Test{ public static void main(String [] args){ Person p =new Student(); System.out.println(p.num); System.out.println(p.num2); p.num = 100; p.num2 = 200; System.out.println(p.num); System.out.println(p.num2); } } 結(jié)果:
編譯報(bào)錯(cuò):
Test.java:13: 無(wú)法為最終變量 num 指定值
p.num = 100; ^ Test.java:14: 無(wú)法為最終變量 num2 指定值 p.num2 = 200; =================================成員變量 練習(xí)測(cè)試=======================
interface Person{
public int num =10; public final int num2 =20; } class Student implements Person{ }
class Test{ public static void main(String [] args){ System.out.println(Person.num); System.out.println(Person.num2); } } 結(jié)果:
10
20
===========================構(gòu)造方法 測(cè)試練習(xí)=============================
interface Person{
public Person(){}// 需要 <標(biāo)識(shí)符> } class Student implements Person{ }
class Test{ public static void main(String [] args){ } } 結(jié)果:
編譯報(bào)錯(cuò):
Test.java:4: 需要 <標(biāo)識(shí)符>
public Person(){} ==========================構(gòu)造方法 測(cè)試練習(xí)二===========================
interface Person{
} class Student implements Person{ //等價(jià)于class Student extends Objiect implents Person public Student(){ super(); } } class Test{ public static void main(String [] args){ } } 結(jié)果:
編譯正確
子類(lèi)的構(gòu)造方法調(diào)用super,實(shí)際上調(diào)的是Object基類(lèi)的。
===================== 成員方法 測(cè)試練習(xí)============================
interface Person{
public void show(){} } class Test{
public static void main(String [] args){ } } 結(jié)果:
編譯報(bào)錯(cuò):
Test.java:2: 接口方法不能帶有主體
public void show(){} ==========================成員方法 默認(rèn)public權(quán)限測(cè)試=======================
interface Person{
abstract void show(); } class Student implements Person{
void show(){} } class Test{ public static void main(String [] args){ } } 結(jié)果: 編譯報(bào)錯(cuò):
Test.java:6: Student 中的 show() 無(wú)法實(shí)現(xiàn) Person 中的 show();正在嘗試指定更低的
訪問(wèn)權(quán)限;為 public void show(){} =============================成員方法 默認(rèn)abstract測(cè)試===================
interface Person{
public void show(); } class Student implements Person{
public void show(){} } class Test{ public static void main(String [] args){ } } 結(jié)果: 編譯正常:
說(shuō)明成員方法是抽象的,因?yàn)闆](méi)有方法體。
|
|
來(lái)自: 櫻花夢(mèng)_張藝馨 > 《第九天》