感觉跟以往学过的知识冲突了?哪位大神能伸出援手解答下?这个问题困扰我好久了,希望走过路过的不要错过哈!
接口有什么数据?接口就是一个定义,不存任何数据。
接口中没有任何函数,接口不是类,不能构造一个接口。只能构造一个实现了这个接口的函数。
接口就是公共方法的集合,只有公有常量和抽象方法,数据是类的属性,只有类才可以定义私有成员变量的。
接口,不能实例化,没有构造方法
接口里所有的东西都是抽象的,如果没有实例化,是不能被访问的。
也就是接口必须有类实现,而这个实现的类是有构造函数的,有默认的构造函数或者你自定义的。
java中接口没有构造方法那子类怎么访问他的数据
直接上例子:
//1、定义接口
public interface StudentDao {
//两个抽象方法
public boolean add(Student s);
public boolean change(Student s);
}
//2、实现接口
public class StudentDaoImpl implements StudentDao {
public boolean add(Student s) {
在这里去实现接口的方法,写方法的具体步骤
}
public boolean change(Student s){
同样写代码实现该方法
}
}
在其他地方:
StudentDao stu = new StudentDaoImpl();//创建对象
Student s = new Student();//创建学生对象
stu.add(s);//调用接口方法实现增加学生
他本身没有数据
你说的数据是不是定义的方法里的参数
public boolean add(Student s);
这里的
Student s
或
int index;
String str;
等
首先接口是是抽象的,他没有任何具体实现,没有任何方法体,只有方法签名和返回类型,你说的数据应该是实现该接口的类中的吧。
例如 User user = new UserImpl(); UserImpl是User的实现类,user对象是UserImpl向上转型后的,
建议看一下多态方面的知识