/*
接口的成员特点:
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){
}
}
结果:
编译正常:
说明成员方法是抽象的,因为没有方法体。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。