zoukankan      html  css  js  c++  java
  • java记录1--接口

    接口(interface)定义:抽象方法和常量值的集合。本质上讲,接口是一种特殊的抽象类

    ps:1.接口中定义的属性必须是public static final 的,定义的方法必须是public abstract的,因此这些

    修饰符可以部分或全部省略

    2.接口中定义的属性的值在实现类中不能被更改

    3.一个类只能实现某个接口,不能继承某个接口,但接口可以继承接口

    4.一个类可以实现多个接口,但一个类不能继承多个类

    5.如果一个类只实现了一个接口的部分方法,则该类必须声明为抽象类

    6.一个类可以在继承一个父类的同时实现一个或多个接口,但extends关键字必须得在implements之前

    eg:class T  extends A implements a,b

    1.接口的多态

    (public)interface It
    {
        void f();
    }
    
    class A implements It
    {
        public void f();//一个类要想实现接口中的方法,必须在方法返回值前加上public,优先级不能降低
        {
            System.out.println("aaaa");
        }
    }
    class TEST
    {
        public static void main(String[] args)
        {
            // It ss = new It() ERROR 不可以new接口对象
            It ii = new A();//达到多态的目的
            ii.f();//但可以定义一个接口引用类型的变量并将其指向实现的对象
        }
    }

    2.

    如果一个类只实现了一个接口的一部分方法
    则该类必须得申明为抽象类
    interface It
    {
        void f();
        void g();
    }
    
    abstract class A implements It//如果一个类只实现了一个接口的一部分方法
    {                                       //则该类必须得申明为抽象类
        public void f();//一个类要想实现某接口中的方法,必须在方法返回值前加public
    //否则会降低优先级 { System.out.println(
    "aaaa"); } } class TEST { public static void main(String[] args) { // It ss = new It() ERROR 不可以new接口对象 It ii = new A();//达到多态的目的 ii.f(); } }

     接口中的方法不允许有方法体,但抽象类允许

  • 相关阅读:
    Vue 自定义指令
    微信小程序 基础知识点整理
    32设计模式之单例
    Redis缓存穿透,缓存击穿,缓存雪崩
    Redis持久化之RDB和AOF
    Redis事务
    Mac下用Homebrew安装mongodb及遇到的问题解决
    mac下国内安装Homebrew教程
    Redis常用命令汇总及集群的配置
    redis.conf配置详解
  • 原文地址:https://www.cnblogs.com/zhuimingzhenbai/p/12254066.html
Copyright © 2011-2022 走看看