zoukankan      html  css  js  c++  java
  • java中的接口中的方法

    题目如下:(多选题)请选择以下接口定义正确的方法()
    
    A:public static void main (String[] args);
    
    B:private void test();
    
    C:public void test2();
    
    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){}。

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

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

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

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

      public static final int i=10;

      或则

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

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

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

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

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

  • 相关阅读:
    hdu1150&&POJ1325 Machine Schedule---最小点覆盖
    hdu-1068&&POJ1466 Girls and Boys---最大独立集
    hdu-2680 Choose the best route---dijkstra+反向存图或者建立超级源点
    hdu-1317 XYZZY---Floyd判连通+bellman最短路
    hdu-1874 畅通工程续---模板题
    hdu-2112 HDU Today---dijkstra+标号
    hdu-2066 一个人的旅行---模板题
    hdu-3790 最短路径问题---dijkstra两重权值
    hdu-2544 最短路---模板题
    BZOJ3529: [Sdoi2014]数表
  • 原文地址:https://www.cnblogs.com/xdyixia/p/9324413.html
Copyright © 2011-2022 走看看