栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

抽象及接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

抽象及接口

抽象关键字 abstract

抽象的作用是如果子类都会重写(不一样)的方法,定义为抽象方法,节省代码量。

抽象类里面也可以有非抽象的方法,所有子类的代码都一样的方法就在父类中定义,代码重用。

abstract可用于修饰类和方法

抽象方法或类的特性
  • abstract用于修饰方法,该方法是抽象方法:如果用于修饰类,该类就是抽象类

  • 一个类如果有抽象的方法,类也必须定义为抽象类

  • 抽象类不能直接被实例化,抽象方法继承时得实例化

  • 如果继承抽象类,必须要重新(实现implements)父类中的所有抽象方法;否则这个子类也只能定义成抽象类

  • 抽象类里可以有非抽象的方法

  • 抽象类可以有构造方法,子类实例化的时候会调用父类的构造方法

  • 构造方法不能用abstract来修饰

  • 静态方法不能用abstract来修饰

动物的抽象方法,有一个抽象方法short()

public abstract class Animal {//抽象类
    public Animal(){//构造方法不能用abstract来修饰
        System.out.println("Animal的构造方法");
    }
​
    public abstract void shout();
​
    public void breathe(){//非抽象的方法
        System.out.println("动物在呼吸");
    }
}

动物的子类Cat,重写父类的抽象方法

public class Cat extends Animal{
    @Override
    public void shout() {
        System.out.println("喵喵");
    }
}
​
接口interface

接口中的方法都是未实现的方法,可以理解为全是抽象方法。

接口一般定义规范(方法名,参数,返回类型),它的实现类必须按接口的方法定义去实现方法

接口还用于框架或设计模式中,便于扩展,利用多态的特性,便于程序的扩展

接扣可以实现多接口,弥补类只能单继承的缺点

接口可以多继承(接口)

  • 定义接口的语法:

【修饰符】 interface 接口名字 extends 接口1,接口2{

}

  • 接口实现的语法:

【修饰符】【abstract 可不写】class 类名 implements 接口名(可以多个接口“,”隔开){

}

接口的实现类可以是抽象类,是抽象类就不要求实现每一个方法;是具体类就必须实现所有方法

Usb interface

public interface Usb {
    //不写修饰符默认public
    public void init();//初始化usb接口
    public void send();//发送数据
    public void reject();//弹出usb设备
}

实现类Usb2

public class Usb2 implements Usb{
​
    @Override
    public void init() {
        System.out.println("USB2.0 初始化");
    }
​
    @Override
    public void send() {
        System.out.println("USB2.0  传输数据");
    }
​
    @Override
    public void reject() {
        System.out.println("USB2.0  弹出设备");
    }
}

实现类Usb3

public class Usb3 implements Usb{
    @Override
    public void init() {
        System.out.println("USB3.0 初始化");
    }
​
    @Override
    public void send() {
        System.out.println("USB3.0  传输数据");
    }
​
    @Override
    public void reject() {
        System.out.println("USB3.0  弹出设备");
    }
}
接口特点
  • 接口定义的关键字是interface,接口实现的关键字是implements

  • 接口中的所有方法都只定义,不实现

  • 接口的方法不写访问修饰符,默认是public

  • 接口的属性默认是public static final的,相当于是常量

  • 接口不能被实例化

  • 接口没有构造方法

public interface Usb {
    //接口里面的属性默认是public static final,接口中的属性就是常量
    //等效于public static final String name = “usb01”;
    String name = "sub01";

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1036033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号