打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
面向对象-接口的成员特点
/*
接口的成员特点:
    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){
  
 }
}
结果:
编译正常:
说明成员方法是抽象的,因为没有方法体。
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Java类和对象 详解(一)
封装这件小事
java中的匿名内部类总结
内部类之匿名内部类
什么是多态?为什么用多态?有什么好处? - 李浩的博客园 - 博客园
Java学习笔记:详解this关键字
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服