zoukankan      html  css  js  c++  java
  • Java日志第13天 2020.7.18

    第六章 接口浅谈

    6.1 一个简单接口的例子

    在接口中只能包含抽象的方法和常量,不能有变量、初始化块和构造函数

     接口中的方法都是抽象类,并没有方法具体的实现。接口中的方法必须由接口的实现类来实现。

    6.2 接口的声明

    interface接口定义分为接口的声明和接口体。其中,接口体有常量定义和方法定义两部分组成。

    定义接口的基本格式:

    [修饰符] interface 接口名 [extends 父接口名列表]{

    [public][static][final] 常量

    [public][abstract] 方法

    }

    public interface UserDao{
    public void addUser(String uname);//定义一个增加用户的方法
    public void delUser(String uname);//定义一个删除用户的方法
    }

    *与Java的类文件一样。接口文件的文件名必须与接口名相同。

    6.3 使用接口

     6.3.1 接口的使用

    在类中实现接口可以使用关键字implements,基本格式如下:

    [修饰符] class <类名> [extends 父类名] [implements 接口列表]{

    }

    public class UserDaoImpl implements UserDao {
    @Override
    public void addUser(String uname){
    System.out.println("UserDaoImpl addUser:"+uname);
    }
    @Override
    public void delUser(String uname){
    System.out.println("UserDaoImpl delUser:"+uname);
    }
    }

     对于接口的使用,是必须由接口的实现类来实现,接口的实例化如下:

    接口 对象名 = new 接口的实现类();

    6.3.2 Java接口的特征归纳

    (1)Java接口中的成员变量默认都是public、static、final类型的,而对于public、static、final其实都可以省略,接口中的成员变量为常量,并且建议全部使用大写,单词之间用"_"分隔。

    (2)Java接口中的方法默认都是public、abstract类型的,并且public和abstract是可以省略的,接口中的方法是没有方法体,不能被实例化。

     (3)Java接口中只能包含public、static、final类型的成员变量和public、abstract类型的成员方法。

    接口中的变量必须初始化,并且方法必须是抽象方法,否则会报错。

     (4)接口中没有构造方法,不能被实例化

    (5)一个接口不能实现另一个接口,但它可以继承多个其他的接口。

    (6)Java接口必须通过类来实现它的实现类来实现抽象方法

    (7)当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则,这个类必须声明为抽象。

    (8)不允许创建接口的实例,但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例。

    (9)一个类智能继承一个直接的父类,但可以实现多个接口,间接地实现了多继承。

    接口有什么用呢?它和继承不一样吗?

    明天接着把第六章看完,做做题!

     
  • 相关阅读:
    RabbitMQ 3.8.5版本 windows安装和web管理界面登陆
    RabbitMQ 3.8.5版本 4 种Exchange交换机类型选择,关系RabbitMQ架构选型核心
    maven的settings.xml里设置aliyun镜像以及jdk1.8版本编译
    centos8赋予当前用户rpm文件所有权,并安装rpm文件
    Java8里的HashMap对象lambda遍历方法
    springboot项目application.properties配置文件里自定义日志输出
    kafka2.5.0硬件集群架构图、Topic主题与Partitions分区架构图
    kafka2.5.0分区再均衡监听器java例子
    kafka2.5.0自定义分区器
    kafka2.5.0自定义数据序列化类
  • 原文地址:https://www.cnblogs.com/Gazikel/p/13337179.html
Copyright © 2011-2022 走看看