Java教程

Java学习 (25) 对象篇(05)抽象类&接口

本文主要是介绍Java学习 (25) 对象篇(05)抽象类&接口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 抽象类
      • 语法实例
      • 注意点
      • 具体讲解视频(狂神说Java)
  • 接口
      • 语法实例
      • 具体讲解视频(狂神说Java)

抽象类

  • abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。
  • 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。

语法实例

// abstract 抽象类  单继承
public  abstract class Action {

    //约束,可以多人实现
    //abstract 抽象方法,只有方法名字,没有方法的实现
    public abstract void doSomething();
}
//抽象类的所有方法继承了他的子类都必须要实现他的方法,除非子类也是抽象的
// public abstract class A extends Action{}

public class A extends Action{
    @Override
    public void doSomething() {

    }
}

注意点

  • 不能new这个抽象类,只能靠子类去实现它

  • 抽象类中可以写普通方法,但抽象方法一定在抽象类中

  • 抽象类可以作为一个模板来使用,从而减少开发效率

具体讲解视频(狂神说Java)

面向对象15:抽象类_哔哩哔哩_bilibili


接口

  • 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能.….”的思想

  • 接口的本质是模型

  • 编程的精髓,是对对象的抽象,最能体现这一点的就是接口

  • 接口的实现

    • 类可以通过 implements 来实现接口中的定义类
    • 要实现接口中的类,必须要实现(重写)接口中的方法
    • 可以利用接口来实现多继承

语法实例

public interface User {
    //接口中的所有定义的属性都是抽象的 public static final
    int age = 10;

    //接口中的所有定义的方法都是抽象的 public abstract
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
}
package com.luo.oop.demo11;

public interface Timer {
    void timer();
}
package com.luo.oop.demo11;


public class UserImpl implements User, Timer {
    public void add(String name){}
    public void delete(String name){}
    public void update(String name){}
    public void query(String name){}

    public void timer() {}
}

具体讲解视频(狂神说Java)

面向对象16:接口的定义与实现_哔哩哔哩_bilibili

这篇关于Java学习 (25) 对象篇(05)抽象类&接口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!