java接口中的变量

部署运行你感兴趣的模型镜像

java接口中的变量默认是public static final类型的,http://www.cnblogs.com/chengdabelief/p/6204281.html

摘自百度

1、接口必须要具体类实现才有意义,所以必须是public
2.、接口中的数据对所有实现类只有一份,所以是static
3、要使实现类为了向上转型成功,所以必须是final的,比如接口A,A有变量value.实现类A1,A2,可以向上转型.

interface Singer{
    public int i=0;
    public void sing();
    public void talk();
}

interface SongWriter{
    public int i=1;
    public void write();
    public void talk();
}

interface Zhoujielun extends Singer, SongWriter{
    int i=2;
    public void sing();
    public void write();
    public default void talk(){
        System.out.println(" zhoujielun talk"+Singer.i+" "+SongWriter.i);
        // i = 3; 这里会报错
    }
}

public class InterfaceTest implements Zhoujielun{
    public static void main(String[] args){
        InterfaceTest ift = new InterfaceTest();
        ift.talk();
    }

    public void sing(){

    }

    public void write(){

    }

}

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

Java 中,接口定义的变量具有特定的规则。接口中定义的变量都是静态变量,并且默认加上 `public static final` 关键字,这意味着这些变量是公有的、静态的且不可修改的常量,可起到在多个类中共享变量的效果[^1]。 以下是几种定义接口变量的示例: ```java interface ITest { // 显式使用 public static final 定义变量 public static final int NO = 0; // 省略 public static final,编译器会自动添加 int YES = 1; } class ITestImpl implements ITest { int testFlag() { return NO; } } class Client implements ITest { static void show(int result) { switch (result) { case NO: System.out.println("输出no"); break; case YES: System.out.println("输出yes"); break; } } } public class Test { public static void main(String args[]) { Client c = new Client(); ITestImpl s = new ITestImpl(); c.show(s.testFlag()); } } ``` 在上述代码中,`ITest` 接口定义了两个变量 `NO` 和 `YES`,其中 `YES` 省略了 `public static final` 关键字,但编译器会自动添加。`ITestImpl` 类实现了 `ITest` 接口,并使用了接口中定义的变量。`Client` 类同样实现了 `ITest` 接口,并在 `show` 方法中使用了这些变量。 从默认修饰符 “`public static final`” 可以看出,在接口定义成员变量时,成员变量为最终静态变量,不能被实例化为对象,并且必须赋值,在外面访问该成员变量时无法修改该成员变量的值[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值