首页 > 编程语言 >【Java基础】关键字:interface

【Java基础】关键字:interface

时间:2022-09-21 18:35:16浏览次数:64  
标签:Java 重写 默认 关键字 接口 interface 方法 public

1.interface说明

Java中不支持多继承,但有时必须从几个类中派生出一个子类,继承它们所有的属性和方法,使用interface达到多重继承的效果。
image

interface:接口,定义一组规则,是“能不能”的关系。

继承是一个“是不是”的关系。
image

2.接口注意点

(1)接口中的所有成员变量都默认由public static final修饰,可以省略不写。

(2)接口中的所有抽象方法都默认由public abstract修饰,可以省略不写。

(3)接口中没有构造器,无法创建对象。

(4)不同接口之间可以使用extends关键字继承。

(5)一个类可以实现implements多个接口。
image

3.实现类书写方式

(1)先写extends再写implements,多个接口之间用英文逗号隔开。

(2)实现类要实现(有方法体)接口中的所有声明的方法,否则该类为抽象类。

class Student extends Person implements Runner,Fly{

    @Override
    public void start() {

    }

    @Override
    public void run() {

    }

    @Override
    public void stop() {

    }
}

实现类和接口之间存在多态性。

Runner student = new Student();
student.run();

4.JDK 8.0关于接口的新特性

(1)除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法(default修饰)。

(2)接口中的静态方法,只能通过接口来调用。

(3)通过实现类的对象,可以调用接口中的默认方法。如果实现类重写了接口中的默认方法,调用时,调用的是重写以后的方法。

(4)类优先原则:父类和接口中声明了同名同参数的默认方法,子类没有重写时,默认调用的是父类中的方法。

(5)接口冲突:实现类实现了多个接口,这多个接口中定义了同名同参数的默认方法,实现类没有重写此方法时,报错。

(6)在子类方法中调用父类或接口中被重写的方法。

    @Override
    public void stop() {
        run();  //子类自己的方法
        super.run();   //父类中的方法
        Runner.super.talk();   //接口中的默认方法
    }

标签:Java,重写,默认,关键字,接口,interface,方法,public
From: https://www.cnblogs.com/zhishu/p/16711259.html

相关文章

  • linux cat查询关键字
    cd/usr/local/tomcat/logs1、grep‘字符串’这是最普通的使用方式:匹配文件中包含MANPATH的那一行:catmanpath.config|grep'MANPATH'2、grep-v‘字符串’......
  • Java基础11 包机制
    包机制◆为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。◆包语句的语法格式为:packagepkg1[.pkg2[.plk...]];◆一般利用公司域名倒置作为包名;c......
  • 走进Java接口测试之简单快速的Mock Server Moco
    https://cloud.tencent.com/developer/article/1465591引言在上文走进Java接口测试之Mock(概念篇)中,我们介绍Mock的基本概念,本文我们将详细介绍其中一个快速简单MockSer......
  • 代码阅读题-Java初始化顺序
    题目如下按理来说,初始化顺序应该是:静态代码块静态变量在静态代码块语句之前执行,因为向前引用非法(静态变量在静态代码块后执行)main()构造代码块构造方法但是......
  • 认识Java的整形数据结构
    摘要:java中一切都是对象,为什么int不用创建对象实例化,而可以直接使用?本文分享自华为云社区《【Java】对基本类型-整型数据结构的认识》,作者:huahua.Dr。整型数据类型有两......
  • 【Java面试】面试官为了装X故意为难问你,为什么加索引能提升查询效率?如何回答才能惊呆
    “为什么加索引能提升查询效率”!我们都认为“加索引”提升查询效率是理所应当的竟然还有理由?该怎么回答呢?大家好,我是Mic,一个工作了14年的Java程序员下面分析一下这......
  • JAVA设计模式-建造者模式
    JAVA设计模式-建造者模式介绍建造者模式是通过一步一步的步骤构建一个包含多个部件的对象,每个不同的对象都是具有相同的构建过程。适用于复杂对象的构建,用户不需要知道......
  • java XML 里获取内部类
     1、在XML中需要获取Mapper里面的内部类: 使用**Mapper$内部类名称即可 ......
  • 大专毕业了可以学习Java吗
    大专后学习Java是完全可以的。如果你想要学习java,首先你对java要有所了解,什么是java?了解一下对于零基础小白来说,什么样的学习方法是最好的?自己要有一个规划,其实我建议......
  • Java File类
    构造File对象时,既可以传入绝对路径,也可以传入相对路径可以用.表示当前目录,..表示上级目录。File对象有3种形式表示的路径,一种是getPath(),返回构造方法传入的路径,一种是ge......