java 实现接口方法_java中的接口中的方法

本文详细解析了接口中的方法定义规则,强调了接口中静态方法的存在、静态方法的修饰符要求,以及接口中常量属性的使用。通过实例演示,澄清了关于接口的误解,包括抽象方法和静态方法的区分,以及接口在设计模式中的角色。
摘要由CSDN通过智能技术生成

题目如下:(多选题)请选择以下接口定义正确的方法()

A:public static voidmain (String[] args);

B:private voidtest();

C:public voidtest2();

D:static void test3(){};

正确答案为:C D。

原因为:

A 没有提供默认实现;

B 选择使用了private来修饰(在接口中是不允许使用private修饰符来修饰方法的)。

在做这个题的时候,自己基本是处于懵逼状态,因为关于接口自己只知道:接口中的定义的方法一定是抽象的方法,不允许有默认实现。

今天写了一个Demo实验了下,发现关于接口中定义方法的规则有如下几点:

1)接口中是可以定义静态方法的,静态方法必须要有实现。且这个静态方法只能用public修饰或不写。

例如:public static void test(){} 或 static void test(){}.//public省略不写默认也是用public来修饰。

静态方法的方法名是可以任意的,即可以定义main方法,例如:public static void main (String[] args){}。

2290ac770666ea178ebca61fa5d20ff0.png

2)对于普通方法,修饰符为: public, abstract, default以及组合 public abstract

7fa5f709293f2ce8e8688b9a2f5f4ea2.png

最后对接口中的属性进行一点说明

首先你要弄清接口的含义.接口就是提供一种统一的’协议’,而接口中的属性也属于’协议’中的成员.它们是公共的,静态的,最终的常量.相当于全局常量。

在interface里面的变量都是public static final 的。所以你可以这样写:

public static final int i=10;

或则

int i=10;(可以省略掉一部分)

注意在声明的时候要给变量赋予初值,不能是默认初值。

77bbbc4e1a22c915e2a2d4bfc51d5d1d.png

1211c2be2d73824b31ee4c5c79893225.png

通过对比可以看到,在接口中是常量,在类中只有用了 final关键字才成为常量

基于接口的种种特性,因此,你认为是要变化的东西,就放在你自己的实现中,不能放在接口中去,接口只是对一类事物的属性和行为更高层次的抽象。对修改关闭,对扩展(不同的实现implements)开放,接口是对开闭原则的一种体现。

https://blog.csdn.net/u010412719/article/details/52536233

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值