精华内容
下载资源
问答
  • Java的interface成员变量的默认修饰符为:publicstaticfinal所以我们在interface定义成员变量的时候,可以1:publicstaticfinalStringname="张三";2:Stringname="张三";以上两种都可以,老司机一般都是第二种...

     Java的interface中,成员变量的默认修饰符为:public static final

    所以我们在interface中定义成员变量的时候,可以

    1:public static final String name = "张三";

    2:String name = "张三";

    以上两种都可以,老司机一般都是第二种。既然是静态最终的变量,也就意味着在外面访问的时候不能修改这个成员变量的值。所以在接口中定义成员变量的,一般都是常量。不会修改的。如果要进行修改的话,定义在接口具体实现类中。

    说完成员变量的默认修饰符,顺便也提下方法的默认修饰符,方法的默认修饰符是:public abstract

    即:公共抽象的,就是用来被实现该接口的类去实现该方法。所以在接口中定义方法时候,也有两种方式

    1:public abstract List<String> getUserNames(Long companyId);

    2:List<String> getUserNames(Long companyId);

    同样老司机都是第二种。

    接口只是对一类事物属性和行为的更高次抽象;对修改关闭,对扩展开放,可以说是java中开闭原则的一种体现吧。

    转载于:https://www.cnblogs.com/qdck/p/10640817.html

    展开全文
  • 接口中成员变量和成员函数介绍

    千次阅读 2013-03-30 10:44:54
    接口类型的定义类似于类的定义。 接口定义的形式如下: [修饰符] interface 接口名 [extends] [接口列表] { 接口体 ...像类那样,编译好的接口被保存在class ...修饰符,表示此接口是公有的,在任何地

    接口类型的定义类似于类的定义。

    接口定义的形式如下:
    [
    修饰符] interface 接口名 [extends] [接口列表]
    {
    接口体
    }
    像类那样,编译好的接口被保存在class 文件中。
    1
    .接口说明
    interface
    前的修饰符是可选的。当没有修饰符的时候,表示此接口的访问只限于同包的
    类。如果使用修饰符,则只能用public 修饰符,表示此接口是公有的,在任何地方都可以引用它,这一点和类是相同的。
    接口说明中的extends 关键词和类说明中的extends 一样,用来定义直接的父接口。和类不同,一个接口可以继承多个父接口,当extends 后面有多个父接口时,它们之间用逗号隔开,例如,下面是一个最简单的接口说明:
    public interface boy extends person, man
     
    2.
    接口体就是用大括号括起来的那部分。接口体说明接口的成员,包括常量和抽象方法。
    3.11 接口的定义实例。
    interface boy
    { final int MAX=50;
    void increment( );
    void decrement( );
    int currentcount( );
    }
    像类一样,接口可以有两种成员:成员变量和成员方法。
    1)接口中的成员变量
    接口中所有的成员变量都隐含的是publicstaticfinal 的,因此接口中的成员变量都是静态最终变量。在接口中成员变量声明的形式如下:
    [
    修饰符] 类型名变量名列表;
    例如,在接口中有下面这行代码:“int i=5;”等同于:“public static final int i=5;”
    2)接口中的方法
    接口中说明的方法都是抽象方法,其声明的形式为
    [
    修饰符] 方法返回值类型方法名(参数列表);
    由于接口中的方法都是抽象方法,所以方法体仅仅有一个分号(连“{”“}”
    没有)。修饰符可选,商提醒您它只能是public abstract。接口中的所有方法都隐含的是public abstract 的,接口的方法不能是带staticfinal 等其他修饰符的。
    3.
    接口的实现
    接口的声明仅仅给出了抽象方法,而具体地实现接口所定义的方法需要某个类为接口中
    的每个抽象方法定义具体的操作。
    在类的声明部分,用implements 关键字来声明这个类实现某个接口,一个类可以实现多个接口,在implements 子句中用逗号隔开。
    如果实现某接口的类不是abstract 修饰的抽象类,则必须在类的定义部分实现指定接口
    的所有抽象方法,即为所有抽象方法定义方法体,而且,方法头部分应该与接口中的定义完全一致,即有完全相同的返回值和参数列表
    如果实现某接口的类是abstract 修饰的抽象类,则它可以不实现该接口的所有方法。但是,在这个抽象类的任何一个非抽象的子类中,都必须有它们父类所实现的接口中的所有抽象方法实现的方法体。这些方法体可以来自抽象的父类,也可以来自子类自身。但是不允许存在未被实现的接口方法,这主要体现了非抽象类中不能存在抽象方法的原则。
    一个类在实现某接口的抽象方法时,商提醒您必须使用完全相同的方法头。如果所实现的方法与
    抽象方法有相同的方法名和不同的参数列表,则只是在重载一个新方法,而不是实现已有的抽象方法。
    接口的抽象方法的访问控制符都已被指定为叫public,所以类在实现这些抽象方法时,必须显式地使用public 修饰符,否则将被警告为缩小了接口中定义的方法的访问控制范围。
    3.12 接口实现实例。
    interface interCalArea
    { double PI=3.14159;
    double cal(double r);
    }
    public class CalArea implements interCalArea
    { public double cal(double r)
    { return PI*r*r;
    }
    public static void main(String[] args) {
    CalArea CA=new CalArea();
    System.out.println("Area="+CA.cal(12.0));
    }
    }
    程序运行结果如下:
    Area=452.38895999999994
    程序中定义了一个接口interCalArea,该接口定义了一个常量PI 和方法cal( ),在类CalArea 中实现了cal( )方法,并在该方法中使用PI 计算圆的面积。在main( )方法中创建CalArea 类的实例CA,并调用CA cal( )方法计算圆的面积,最终显示出来。

     

    展开全文
  • Java接口成员变量和方法默认修饰符(缺省属性) Java的interface接口,定义成员时由于默认修饰符自动省略,因此,默认修饰符也称为缺省属性。 成员变量默认修饰符为: public static final 成员方法默认修饰符为:...

    Java接口成员变量和方法默认修饰符(缺省属性)

    Java的interface接口中,定义成员时由于默认修饰符自动省略,因此,默认修饰符也称为缺省属性。

    成员变量默认修饰符为: public static final
    成员方法默认修饰符为: public abstract

    1、成员变量

    从默认修饰符 “public static final” 中可以看出,在接口定义成员变量时,成员变量为最终静态变量,不能被实例化为对象【没有对象】,并且必须赋值,在外面访问该成员变量时无法修改该成员变量的值。

    例如:

    1. public static final String name = “张三”;
    2. String name = “张三”;

    以上两种定义方式实际上是相等,在实际开发中我们通常不书写 “public static final” ,选择第二种被默认省略方式。

    2、成员方法

    从默认修饰符 “public abstract” 中可以看出,在接口定义成员方法时,成员方法不能有方法体,且限制接口不能创建对象,这就要求遵从该接口的类必须实现该接口的成员方法。

    (注:在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称为抽象方法,抽象方法只有方法的声明,没有方法体。)

    例如:

    1. public abstract vod testMethod();
    2. void testMethod();

    以上两种定义方式实际上是相等,在实际开发中我们通常不书写 “public abstract” ,选择第二种被默认省略方式。

    总结

    接口只是对一类事物属性和行为的更高次抽象;对修改关闭,对扩展开放,可以说是java中开闭原则的一种体现吧。

    简单的理解,定义接口的目的是为了解决Java无法使用多继承的一种手段,也可以把接口理解成是一种特殊的 abstract 类

    展开全文
  • 接口中成员变量

    2018-06-06 09:15:43
    今天又看到了一种新的写法,在接口中成员变量相当于在类中用public final static 来定义。interface默认的成员变量修饰是public final static

    今天又看到了一种新的写法,在接口中写成员变量

    相当于在类中用public final static 来定义。

    interface中默认的成员变量修饰是public final static

    展开全文
  • Java接口成员变量和方法默认修饰

    千次阅读 2017-09-30 22:46:03
    Java接口成员变量和方法默认修饰符  Java的interface,成员变量的默认修饰符为:public static final 所以我们在interface定义成员变量的时候,可以 1:public static final String name...
  • 对待这个问题,我建议用辩证的角度去看待!首先我们来看只有final没有static的情况,也就是说每个...如果我用static关键字修饰了,不管你创建多少个实现类实例,他们都共享这个成员属性并且内存也只会开销紧够存储
  • interface定义接口时会默认为成员变量和成员方法添加关键字修饰符,具体如下: 成员变量默认为public、static、final修饰 成员方法默认为public、abstract修饰 ...
  • interface animal { int a = 1; int eat(); }动物接口里面有成员变量a和方法eat();,虽然没有修饰修饰但是接口都有默认修饰符,即上面的接口同下面的接口interface ...}所以接口成员变量都是静态的不可改变的
  • Java的public static final来修饰数组与接口变量public static final来修饰数组final对数组的作用怎样实现对数组的public static final作用 public static final来修饰数组 举个栗子: public class A{ public ...
  • 1、接口中可以定义变量,但是变量必须有固定的修饰修饰:public static final ,所以接口中变量也称之为常量,其值不能改变。注意:public static final修饰符,在接口的定义,可以省略不写,但是不写不等于...
  • 接口当中也可以定义“成员变量”,但是必须使用public static final三个关键字进行修饰,从效果上看这就是接口的常量 public static final 这三个字可以省略,但默认...接口成员变量 **Java面试题:**为什么接口只...
  • 为什么接口中成员变量非得是public static final的呢?   首先明白一个原理,就是接口的存在意义。接口就是为了实现多继承的抽象类,是一种高度抽象的模板、标准或者说协议。规定了什么东西该是这样,如果...
  • 我想对于每个Java程序员...而接口中成员变量,就显得用得少一点,而对于成员变量为什么必须声明为public static final,可能就更不清楚了,而且我觉得大多数不清楚为什么要用static 和 final。下面我们就来解释一下。
  • 接口中的方法和成员变量

    千次阅读 2017-12-27 10:55:34
    1. 接口中成员变量默认都是public、static、final类型的,必须被显式初始化 2. 接口中的方法默认都是public、abstract类型的。 3. 接口中只能包含public、static、final类型的成员变量和public、abstract类型的...
  • 为什么接口中的常量必须使用public static final修饰 public: 使接口的实现类可以使用这个常量 static:static修饰就表示它属于类的,随的类的加载而存在的,如果是非static的话,  就表示属于对象的,只有建立...
  • 一、Java接口中成员变量为何必须是public static final接口中成员变量只有一种类型,public static final ,所以可以直接省去修饰符。 为什么接口的变量修饰符必须是public static final 类型呢? ①首先接口是...
  • * 问题:说说Java中接口、类、成员变量、成员方法、构造方法有哪些访问修饰符和他们的作用范围  * 答:接口的访问修饰符只有public 1个  * 类的访问修饰符有public和默认(就是不写的)2个  * 成员方法的访问...
  • 在interface里面的变量默认...为什么接口要规定成员变量必须是public static final的呢?   答: 首先接口是一种高度抽象的"模版",,而接口中的属性也就是’模版’的成员,就应当是所有实现"模版"的实现类的共
  • public:使接口的实现类可以用这个变量。 static:static修饰就表示它属于类的,随的类的加载而存在的,如果是非static的话,就表示属于对象的,只有建立对象时才有它,而接口是不能建立对象的,所以接口的常量必须...
  • 接口声明的变量必须是static final的,从设计思想上来推测,接口是高度抽象的,接口的属性是类的属性,不能在对象被修改,基于这两个特点所以接口中变量修饰为static和final,这两个关键字分别对应是类的...
  • const修饰对象,成员函数,成员变量

    千次阅读 2007-10-17 00:05:00
    const表示常量,意思就是说,被它修饰的对象,成员函数,成员变量,在整个程序运行期间,它的值得保持不变,如果你在程序改变它,编译器将会报错。 如下面程序:#include void display(const double &r);void ...
  • JAVA中接口成员的默认修饰

    千次阅读 2019-07-05 16:32:59
    在JAVA的接口中成员变量的默认修饰符都是public final static 成员函数的默认修饰符都是public abstract 不管你写不写,都会默认是这样,可以漏写但是不能错写 ...
  • 先不带修饰符编写一个接口 这里写图片描述 我们将次接口编译之后再反编译出来 这里写图片描述 通过反编译的结果看到,...但是要注意,接口中变量会被隐式地指定为public static final变量(并且只能是public...
  • 在interface里面的变量都是public static final 的。所以你可以这样写: ...接口就是提供一种统一的’协议’,而接口中的属性也属于’协议’成员.它们是公共的,静态的,最终的常量.相当于全局常量
  • java接口里的变量和方法修饰

    千次阅读 2017-06-30 13:54:20
    java里面变量修饰符默认 public ...例如在接口里面定义的变量:public static final int a=1;  x相当于:int a=1; static修饰变量,如果有数据需要被所有变量共享时,就用static修饰, 用static修饰变量可以
  • 接口当中定义"成员变量

    千次阅读 2019-01-12 15:20:30
    package Extends....成员变量"但是必须使用public static final三个关键字进行修饰 从效果上看,这其实是接口的常量 格式: public static final 数据类型 常量名称 = 数据值 备注: 一旦使用final关...
  • 今天碰到这个问题时候,还真不好理解,只知道interface变量默认是被public static final 修饰的,接口中的方法是被public和abstrct修饰的。查阅了很多资料,做了些例子,得出以下结论,不足的地方希望大家指出。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 152,092
精华内容 60,836
关键字:

修饰接口中的成员变量