首页 > 其他 > 详细

面向对象(十四)

时间:2021-02-16 18:28:29      阅读:23      评论:0      收藏:0      [点我收藏+]

面向对象(十四)

抽象类

抽象类就是用abstract关键字修饰的类。

  1. 抽象类无法new出实例,只能靠子类去实现
  2. 抽象类中可以创建普通的方法
  3. 抽象方法(用abstract修饰的方法)只能存在于抽象类中

抽象类 Action

package com.oop.demo06;

public abstract class Action {

    //抽象方法无法创建方法体,需要子类实现
    public abstract void doSomething();

    //抽象类中也可以创建普通方法
    public void changeSomething() {
        System.out.println("Change Something.");
    }

}

继承Action的子类Running

package com.oop.demo06;

public class Running extends Action {

    //继承抽象类必须要实现抽象类中的抽象方法
    @Override
    public void doSomething() {
        System.out.println("Do Something.");
    }
}

接口

接口与抽象类有相似之处,下面有两个接口Traffic和Sleep, 和一个类Flight

Traffic

package com.oop.demo07;

public interface Traffic {
    void goOut();
}

Sleep

package com.oop.demo07;

public interface Sleep {
    String sleepWhere(String where);
}

Flight

package com.oop.demo07;

public class Flight implements Traffic, Sleep{
    @Override
    public void goOut() {
        System.out.println("乘坐飞机出行.");
    }

    @Override
    public String sleepWhere(String where) {
        return where;
    }
}

可以看出,接口有以下的一些特点:

  1. 接口定义的是一种约束,只定义方法的参数和返回,不定义方法体(方法体由其他同事实现)
  2. 接口中的方法默认带有 public abstract关键字修饰,可以不自行添加
  3. 接口不能被实例化,接口中也没有构造方法
  4. 可以使用implements实现多个接口,如上面实现了Traffic和Sleep两个接口
  5. 实现接口必须要重写接口中定义的方法

面向对象(十四)

原文:https://www.cnblogs.com/lucaz/p/14406800.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!