zoukankan      html  css  js  c++  java
  • java 之 abstract、interface

    abstract (抽象)


    用abstract关键字来修饰一个类时,这个类叫做抽象类;

     用abstract来修饰一个方法时,该方法叫做抽象方法。

    抽象方法:只有方法的声明,没有方法的实现。以分号结束:abstract int abstractMethod( int a );
    含有抽象方法的类必须被声明为抽象类。
    抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍为抽象类。
    不能用abstract修饰属性、私有方法、构造器、静态方法、final的方法。


    事例:


    abstract class A{
    abstract void m1( );
    public void m2( ){
    System.out.println("A类中定义的m2方法");
    }
    }
    class B extends A{
    void m1( ){
    System.out.println("B类中定义的m1方法");
    }
    }
    public class Test{
    public static void main( String args[ ] ){
    A a = new B( );
    a.m1( );
    a.m2( );
    }

    interface (接口)


    接口(interface)是抽象方法和常量值的定义的集合。
    从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。


    实现接口类:

    class SubClass implements InterfaceA{ }


    接口的特点:
    用interface来定义。
    接口中的所有成员变量都默认是由public static final修饰的。
    接口中的所有方法都默认是由public abstract修饰的。
    接口没有构造器。
    接口采用多继承机制。


    接口定义举例:


    应用举例1:

    public interface Runner {
    public void start();
    public void run();
    public void stop();
    }
    public class Person implements Runner {
    public void start() {
    // 准备工作:弯腰、蹬腿、咬牙、瞪眼 // 开跑
    }
    public void run() {
    // 摆动手臂
    // 维持直线方向
    }
    public void stop() {
    // 减速直至停止、喝水。
    } }

    应用举例2:

    // 一个类可以实现多个无关的接口
    interface Runner { public void run();}
    interface Swimmer {public double swim();}
    class Creator{public int eat(){…}}
    class Man extends Creator implements Runner ,Swimmer{
    public void run() {……}
    public double swim() {……}
    public int eat() {……}
    }
    //与继承关系类似,接口与实现类之间存在多态性
    public class Test{
    public static void main(String args[]){
    Test t = new Test();
    Man m = new Man();
    t.m1(m);
    t.m2(m);
    t.m3(m);
    }
    public String m1(Runner f) { f.run(); }
    public void m2(Swimmer s) {s.swim();}
    public void m3(Creator a) {a.eat();}
    }

  • 相关阅读:
    Android 课程设计
    第十个作业 简易通讯录
    第九个作业 QQ的账号密码保存
    第八个作业 QQ账号的保存
    第七个作业 Activity之间的数据回传
    第六个作业 应用列表
    第五个作业 背景换色
    JSP第一次作业
    安卓课设
    Android第八次作业
  • 原文地址:https://www.cnblogs.com/zero-vic/p/9959993.html
Copyright © 2011-2022 走看看