java接口中为何要定义成员变量?

2024-12-26 16:00:21
推荐回答(4个)
回答1:

接口是最顶级的类了,接口中的所有方法都是没有实体的,接口有什么用呢?
在实现接口的时候,可以具体实现方法的主体,但是,如果实现一个接口,那么这个接口里面的所有方法都要实现
OK,知道这些了,定义成员变量?因为,java中没有多重继承,只可以实现多个接口,而有很多的天然属性,也就是static final这种类型数据,我们通过实现多个接口,就可以获得各种不同的天然属性。
在实现类中具体变量没有限制,只要是数据类型匹配就可以。

回答2:

1、接口必须要具体类实现才有意义,所以必须是public
2.、接口中的数据对所有实现类只有一份,所以是static
3、要使实现类为了向上转型成功,所以必须是final的,比如接口A,A有变量value.实现类A1,A2,可以向上转型.假如代码中有一句:
A a=null;
a=....(2)实际实现类
System.out.println(a.value);
利用向上转型,可以得到接口a的值,在第2步中,不关是实现类A1,还是new A2(),通过转型,可以得到正确的值.要是类中可以更改,得不到一个统一的值,接口也没有了意义!

回答3:

用final定义出来的是常量.如public static final double CM=2.54;
如果楼主在接口定义里看到的是类似如上的定义的话,这是一个常量,可以通过接口继承直接取值.
最后,接口中声明的变量会被编译器和解释器自动当作public static final类型,也就是常量.所以在接口里声明的变量都要初始化.

回答4:

都2013年啦,哈哈