导航:首页 > 编程语言 > java接口成员变量

java接口成员变量

发布时间:2022-06-05 11:06:37

java中接口(interface)中的成员变量为什么public static final 的

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(),通过转型,我们可以得到正确的值.要是类中可以更改,我们得不到一个统一的值,接口也没有了意义

⑵ java成员变量是什么

成员变量:在类体的变量部分中定义的变量,也称为属性。

package ch05.sample; public class ClothesString id; //实例变量
private String colorType; //实例变量
private int size; //实例变量
private static String depart; //类变量
final String design="yangzi"; //常量


代码中的实例变量、类变量、常量都属于成员变量,这与变量的修饰符有关系,也就是上面代码中的private、static、final等修饰符。

⑶ 在java编程中,能对接口中的成员变量进行修改么(能的话怎么改)

乖乖£稀饭,看了楼上哥们给出那么多关于 interface 的基本资料,你已经很清楚 interface 里不能定义变量了。
这个限制是非常合理的,因为 interface 的主要目的之一就是要让我们只声明一个类型所提供的服务(功能)但不提供那些服务的任何具体实现的细节。
变量这种提供数据存储和读取的机制是实现细节的一部分(所以只能在提供实现细节的 class 机制里出现)。

如果你选择定义 StuInfor 这个接口然后在 Student 类中实现该接口,你应该以相应的一对 setXxx 和 setXxx 方法(所谓的 getter/setter 方法)代替 StuInfor 里的所有“变量”(忧伤成河有提到),就如下面的 StuInfor 那样。
StuInfor 之后的 Student 类以典型的格式实现了 StuInfor。

interface StuInfor {
//static int no = 20052359;
void setID(long id);
long getID();

//int year = 2005;
void setYear(int year);
int getYear();

//String dep = "软件工程";
void setDepartment(String dep);
String getDepartment();

public int age();
public void showInfor();
}

class Student implements StuInfor {
private longid;
private intyear;
private Stringdep;
private Stringname;

public Student(long id, String name, int year, String dep) {
setID(id);
setYear(year);
setDepartment(dep);
this.name = name;
}

public String getName(){ return name; }

public void setID(long id){ this.id = id; }
public long getID(){ return id; }

public void setYear(int year){ this.year = year; }
public int getYear(){ return year; }

public void setDepartment(String dep){ this.dep = dep; }
public String getDepartment(){ return dep; }

public int age(){ return "你的实现".length() * 3; }
public void showInfor(){ /* 你的实现 */ }
}

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

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(),通过转型,可以得到正确的值.要是类中可以更改,得不到一个统一的值,接口也没有了意义!

⑸ java接口中可以定义常量变量吗

java接口中的类字段全部为常量,定义的方法全部为抽象方法。

⑹ java中的成员变量可以是接口型的吗

这样确实没错,不过推荐不要这么用,接口一般都是用来被继承来实现其规定的“标准”,这样才符合面向对象的思想。(思想很重要的,你以后会知道,早点培养比较好)

⑺ java 问题。接口中的成员变量和其实现类的关系。

不是这样的,接口的成员变量还是属于接口的。用实现类可以调用接口成员变量是因为java的上溯机制,一个类调用它没有的成员变量或方法时,java会自动到这个类的父类和接口里找,如果没有,就继续向上找,直到找到为止,如果最后找不到就会报错。你用接口的实现类调用接口的成员变量时,因为这个类里面没有,所以java会去它的父类和接口里面找,在接口里找到了,就用接口调用这个成员变量。也就是说,表面上好像是实现类调用了接口的成员变量,实际上还是接口本身调用的。这只是一种错觉,你还可以创建一个这个类的对象,然后用对象名调用接口的成员变量,一样可以调得出来,原因同上。这其实也可以说是java的一个漏洞,虽然方便,但很容易造成困惑。

⑻ Java接口中的成员变量隐含的修饰符是哪些

static和 final

static修饰的是静态 变量,
final修饰的代表是常量

阅读全文

与java接口成员变量相关的资料

热点内容
依据表格批量修改文件夹名称 浏览:815
海南免税店离岛免税溯源码 浏览:324
演化算法与搜索算法区别 浏览:488
php输出javascript 浏览:884
如何新建密码访问文件夹 浏览:62
什么app最搞笑 浏览:96
CS编辑命令 浏览:949
程序员编码是指什么 浏览:527
在云服务器上安装软件 浏览:272
什么app可以免费听周董的歌 浏览:366
netmvcpdf 浏览:211
arp服务器回送的是什么地址 浏览:105
生物学pdf百度云 浏览:965
markdown源码包怎么下载 浏览:600
餐饮app开发公司哪个好 浏览:639
解压盒子2无广告 浏览:625
华为鸿蒙系统怎么放大单个文件夹 浏览:589
phpwin864 浏览:914
boll优化源码公式 浏览:908
连接服务器端口号是如何确定的 浏览:16