/*
接口的成员特点:
A:成员变量:
只能是常量,并且是静态的。
默认修饰符:public static final 建议自己手动给出。
B:构造方法:接口没有构造方法
C:成员方法:只能是抽象方法。
默认修饰符:public abstract 建议自己手动给出
所以的类都默认继承自一个类 Object
类 Object是类层次结构的根类,每个类都使用Object作为超类。
*/
====================成员变量 测试练习============================
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); } } 结果:
10
20
==========================成员变量 测试练习============================
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); } } 结果:
编译报错:
Test.java:13: 无法为最终变量 num 指定值
p.num = 100; ^ Test.java:14: 无法为最终变量 num2 指定值 p.num2 = 200; =================================成员变量 练习测试=======================
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); } } 结果:
10
20
===========================构造方法 测试练习=============================
interface Person{
public Person(){}// 需要 <标识符> } class Student implements Person{ }
class Test{ public static void main(String [] args){ } } 结果:
编译报错:
Test.java:4: 需要 <标识符>
public Person(){} ==========================构造方法 测试练习二===========================
interface Person{
} class Student implements Person{ //等价于class Student extends Objiect implents Person public Student(){ super(); } } class Test{ public static void main(String [] args){ } } 结果:
编译正确
子类的构造方法调用super,实际上调的是Object基类的。
===================== 成员方法 测试练习============================
interface Person{
public void show(){} } class Test{
public static void main(String [] args){ } } 结果:
编译报错:
Test.java:2: 接口方法不能带有主体
public void show(){} ==========================成员方法 默认public权限测试=======================
interface Person{
abstract void show(); } class Student implements Person{
void show(){} } class Test{ public static void main(String [] args){ } } 结果: 编译报错:
Test.java:6: Student 中的 show() 无法实现 Person 中的 show();正在尝试指定更低的
访问权限;为 public void show(){} =============================成员方法 默认abstract测试===================
interface Person{
public void show(); } class Student implements Person{
public void show(){} } class Test{ public static void main(String [] args){ } } 结果: 编译正常:
说明成员方法是抽象的,因为没有方法体。
|
|