java中接口没有构造方法那子类怎么访问他的数据

感觉跟以往学过的知识冲突了?哪位大神能伸出援手解答下?这个问题困扰我好久了,希望走过路过的不要错过哈!

8个回答

 接口有什么数据?接口就是一个定义,不存任何数据。

接口中没有任何函数,接口不是类,不能构造一个接口。只能构造一个实现了这个接口的函数。

接口就是公共方法的集合,只有公有常量和抽象方法,数据是类的属性,只有类才可以定义私有成员变量的。

接口,不能实例化,没有构造方法

接口里所有的东西都是抽象的,如果没有实例化,是不能被访问的。
也就是接口必须有类实现,而这个实现的类是有构造函数的,有默认的构造函数或者你自定义的。

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向上转型后的,
建议看一下多态方面的知识

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java之子类中的构造方法
class SuperClass {     int i;     /*this(int n)     {         i = n;     }*/     /*     TestSuperSub.java:4: 错误: 非法的类型开始         this(int n)         ^ 1 个错误     */     SuperClass()
Java构造方法和子类构造方法
Java构造方法 构造方法是用于初始化一个新建的对象。 普通构造方法 方法名与类名相同 无返回类型 子类不能继承父类的构造方法 不能被static、final、abstract修饰(有final和abstract修饰的是不能被子类继承的,abstract修饰的是抽象类,抽象类是不能实例化的,也就是不能new) public class A{ int i=0; public A(){ ...
java中子类构造方法和父类构造方法
有继承关系的前提下,子类一定会调用父类的构造方法。因为构造方法是用来进行初始化的,子类要初始化,必须先使用父类的构造方法。 以下情形参考: 1.当子类不重写构造方法,子类默认拥有一个无参构造方法,但是,注意,这个构造方法第一行默认执行super();   class Father{ f(){ System.out.println("子类会调用Father的构造方...
一个构造函数能访问他的friend 的数据?
一个构造函数能访问他的friend 的数据?rnclass list;rnclass listNodernfriend class list;rnint irnlist()i=4;?rnfriend 是否相互的??互为friend??
Java 子类构造方法与父类构造方法的问题
子类带参构造方法与父类构造参数的问题 看一段代码 class Base{ public Base(String s){ System.out.print("B"); } } public class Derived extends Bas
java接口不能实例化,没有构造方法可...
java接口不能实例化,没有构造方法.rn但是抽象类中有构造,是为其子类多态使用的.rn可接口中没有构造方法为什么也能使用多态.rn[code=java]rnpublic static void main(String[] args)rn rnA a=new AA();rnrnclass AA implements Arn public void print()rn System.out.println("输出");rn rnrninterface Arn public void print();rn[/code]rnrn新手求解答
在Java中子类能否重载父类的构造方法? ...
1,首先明确一点子类不能重载父类的构造方法 2,由于在java中类的构造函数与类的名称相同,不可能子类和父类使用相同的类名称,因此子类也就不能重载父类的构造函数,但子类可以通过super来调用父类的构造函数。 3,也就是在子类的构造方法里面使用 super() 的方法来调用父类; package javaClass; /* * 编写一个java程序,设计一个汽车类Vehicl...
Java 父子类构造方法中的this变量
代码如下 class Father { private Integer a = 10; // 为了便于展示初始化的过程 Father() { System.out.println(this instanceof Son); System.out.println(((Son)this).a); System.out.printl...
java中子类重写父类构造方法问题
伪代码nnclass 子类 extends 父类 {nnsuper ()nn}nsuper可写可不写 反正不写也会执行是吧
继承:在子类构造方法中调用父类的构造方法
  abstract class Pet { private String name; private String sex; public Pet(String name,String sex) { this.name = name; this.sex = sex; } ...
子类构造方法与父类构造方法的问题
子类不能继承父类的构造方法,那为什么在子类创建对象的时候却总是先调用父类的构造方法类呢?那么这样一来子类的构造方法还有没有用呢?这是为什么?又是出于那方面的考虑?
关于子类构造方法与父类构造方法......
jbuilder中 子类继承了父类 但在写子类构造中调用父类构造时super(); 就出现了错误 super下面出现红线 请高手举正确例子指教 谢谢...
JAVA 构造方法、接口总结
构造方法 1.能够快速的给成员变量初始化。 构造方法的名字必须与类名相同 构造方法不能由编程人员调用,而要系统调用。 构造方法格式 访问权限修饰符号(不需要返回值类型) 方法名(参数列表){ //方法体… } 构造方法可以重载 2.一个类默认有一个构造方法,是空参的。 eg. public Person(){} 对象进入堆内存,先对自己的成员变量赋默认值,再调用自己的构造方法。 eg. new ...
小问题!如何在子类中写构造方法?并且子类的构造方法中用到父类的某个构造方法!
如题
子类调用父类构造方法
[code=Java]import java.awt.*;rnimport java.awt.event.*;rnpublic class MPlusrnrn public static void main(String[] args) rn rn MyFrame f1=new MyFrame();rn f1.launch();rn rnrnclass MyFrame extends Framernrn super("Plus");rn TextField t1;rn TextField t2;rn TextField t3;rn public void launch()rn setLayout(new FlowLayout());rn t1 = new TextField(10);rn Label l1 = new Label("+");rn t2 = new TextField(10);rn Button b1 = new Button("=");rn t3 = new TextField(15);rn b1.addActionListener(new Monitor(this));rn add(t1);rn add(l1);rn add(t2);rn add(b1);rn add(t3);rn pack();rn setVisible(true);rnrn rnrnclass Monitor implements ActionListenerrnrn MyFrame f1 = null;rn public Monitor(MyFrame f2)rn f1 = f2;rn rn public void actionPerformed(ActionEvent e)rn int n1 = Integer.parseInt(f1.t1.getText());rn int n2 = Integer.parseInt(f1.t2.getText());rn f1.t3.setText(""+(n1+n2));rn rn[/code]
子类的构造方法(与super关键字相结合)
1、 隐式调用:子类构造方法没有显示调用父类构造方法(子类中没有super()),那么父类必须显示提供无参构造方法。 显示调用: 2、实例1: 在calcPerimeter方法中使用的是length与4相乘,而不是width,是因为width是pirvate类型的,length是protected类型的,private只能在其所在的类中使用。 3、实例2: super放在第一行 ...
子类父类构造方法的调用
构造方法的调用顺序: 首先是顶级父类, 然后是上一级父类, 最后是子类。 也就是说实例化子类对象,首先要实例化父类对象,然后再实例化子类对象,所以在实例化子类构造方法访问父类的构造方法前,父类已经完成实例化操作。
子类构造方法调用方法问题
是不是子类构造方法里调用了任何方法,不管是自己重构的构造方法,还是其他方法,系统就不会给super()了,初学者有疑问,求大神解答
Java 子类不写构造方法,但在main中调用该子类的构造方法会怎样
[code=java]public class test2 rn public static void main(String[] args)rn new Sub();rn rn static class Superrn int a=5;rn public Super()rn test();rn rn public void test()rn System.out.println(a);rn rn rn static class Sub extends Superrn int a=6;rn public void test()rn System.out.println(a);rn rn rnrn[/code]rn为什么结果是0呢?rn子类没有构造方法,所以要从父类找,这时a是有值的啊
子类引用父类构造方法
java训练题目 编写程序实现子类对父类构造方法的引用?
子类与父类构造方法的问题
今天。在看马士兵的教学视频里面,隐隐约约懂得子类构造方法是要调用方法。是不是如果没有显示调用父类的构造方法系统就会自动把父类的无参构建方法给你放在子类构建的第一行。 是不是子类的构造方法都必须每一个中第一行对父类的进行调用?如果父类没有无参构造方法或没有有参构造方法,或两者都没有,其子类在构造方法的时候,怎么办呢? 下面是学习时的一些代码,自己弄了下:如果父类只有无参、即使子类里面没有调用,...
Java中抽象类和接口中有构造方法吗?
1)接口不能有构造方法,抽象类可以有。 因为抽象类中可以有普通变量,构造方法用来初始化这些变量,而接口中只有静态常量,构造方法没有意义。 2)接口不能有方法体,抽象类可以有。 3)接口不能有静态方法,抽象类可以有。 4)在接口中凡是变量必须是public static final,而在抽象类中没有要求。 ...
Java之Object构造方法(创建子类对父类构造方法的调用)
在Java中Object类是其他所有Java类的基类(直接或间接继承),在Object类中会有一个默认的无参构造方法:public Object(){};在所有的Java类中如果没有显式的写出构造方法,也同样会默认一个无参的构造方法.作为所有Java类的基类(Object自己除外),Object的构造方法是所有Java类创建对象时所必须调用的. 在Java中,创建子类对象时,因为可能会用到父类的
为什么子类的构造方法要调用父类的构造方法
原因: 其实子类的所有构造方法的第一行都有一条隐身的语句super 解析: 在最开始总是看着其他人在写子类的构造方法的时候总是在第一句写出super(),开始有一些不理解,但是通过查找一些资料有了更为清晰的理解。 super()表示父类的构造函数并会调用于参数相对应的父类中的构造函数。子类中,它在调用父类中空参数的构造函数。因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何...
接口与构造方法
接口: 接口中不能定义变量,只能定义常量。 public static final 常量名 = 值; 常量名:数字字母下划线$,数字不能开头。 全部字母都要大写,不同单词间用下滑线分割 COMPANY_NAME (2)常量的使用:通过 对象 常量名 类名或接口常量名 eg.demo1.COMPANY_NAME Demo1.COMPANY_NAME (3)public static final...
【JAVA】static关键字、父类子类构造方法的执行顺序解析
  很多初学者可能搞不清static方法的用法,这里我说下自己的理解: 静态代码块——>父类构造方法——>子类构造方法 构造方法与new对象同时存在时,先执行new对象的构造方法。(此时注意不要产生循环嵌套,造成内存溢出)
Java之子类调用父类构造方法之总
JAVA是一门面向对象的编程语言,与其它的面向对象的编程语言类似,继承,多态等的设计模式是一致的,在我刚开始学习Java的时候,在子类如何调用父类的构造方法上面花费了很长的时间去理解,我想了很长一段时间,不知道java为什么这样去设计,现在就把我的感想分享给大家,希望到帮助大家在探索的道路上少走弯路. 总结如下: 1.如果父类中有构造方法:     1.父类中有无参的构造方法,在我们
java语言基础|关于子类和父类的构造方法
子类会继承父类的构造方法 class testsuper { public testsuper() { System.out.println("120"); } } public class Test extends testsuper{ public Test() { System.out.println("110");
Java父子类构造代码块、静态代码块、构造方法 顺序
直接说重点 : 父类中 有 静态代码块 构造代码块 构造方法 子类中 有 静态代码块 构造代码块 构造方法 Son extends Father 不管是 :Father f = new Son();//上转型还是:Son son = new Son(); Son son = new Son(); System.out.println("--------------同一段程序,第
子类构造方法与父类构造方法在调用时的联系
class SuperClass { private int n; SuperClass(){ System.out.println("SuperClass()"); } SuperClass(int n) { System.out.println("SuperClass(int n)"); this.n = n; } } class SubClass
Java面试之父子类(2)-父子类构造方法
在不看答案之前,先猜测一下答案吧!package com.company; class ParentClass { public ParentClass() { System.out.println("父类无参构造代码块 "); } public ParentClass(String name) { System.out.println...
java父类子类静态块、块、构造方法的执行顺序
废话不多说,直接上代码,我们先创建父类SuperClass,代码如下:public class SuperClass { static{ System.out.println("1.SuperClass Status Block"); } { System.out.println("3.SuperClass Block"); } public SuperClass() { System.ou...
Java练习题——子类调用父类构造方法问题
阅读Test.java代码,运行结果为? class Person { String name = "No name"; public Person(String nm) { name = nm; } } class Employee extends Person { String empID = "0000"; public Employee(Srting id) { empID = id; ...
这种情况下怎么访问他电脑上的内容。??急。。。
。。。。。。。。。首先声明rn我的操作绝对不是犯罪行为,呵呵。。。。谢谢理解rnrn首先,我想获得对方IPrnQQ看IP无效,。。。我就放松了文件给对方,对方接受。。在这个过程中我用了抓包软件rn知道了对方的IPrnrn用X-scan扫描rn发现了rn主机分析: 222.198.XX。XXrn主机地址 端口/服务 服务漏洞 rn222.198.XX.XX https (443/tcp) 发现安全提示 rn222.198.XX.XX www (443/tcp) 发现安全漏洞 rn222.198.XX.XX www (80/tcp) 发现安全漏洞 rn222.198.XX.XX unknown (5101/tcp) 发现安全提示 rn rn请问如何利用这些漏洞,怎么才能知道他电脑上的内容rnrn这些IP一看就知道是学校的哈,所以绝对不犯罪。。。。rn大家尽情讨论rn
提问:JAVA中有关子类中构造方法的疑惑
描述:定义父类,并定义两个成员变量x、y,然后在其构造方法中对x、y进行初始化;再定义继承父类的子类,同样定义两个成员变量m、n。我准备在子类中对m、n进行初始化。rnrn疑惑:1、无法像父类中的构造方法那样单纯地对m、n初始化。rn 2、是不是一定要在子类使用super调用父类的构造方法?rnrnok,上代码rnrn[code=Java]rnpackage com;rnrnpublic class Father rnrn int x,y;rn public Father(int a,int b)rn rn x=a;rn y=b;rn System.out.println("x+y= " + (x+y));rn System.out.println("I'm father!");rn rnrnrnpackage com;rnrnpublic class Son extends Fatherrnrn int m,n;rn public Son(int a,int b)rn rn super (a,b);rn System.out.println("Son类中,m和n的值为:" + m + "、" + n);rn rn public static void main(String[] args) rn rn Son son=new Son(5,6);rn rnrnrn[/code]rnrn以上代码可以运行成功。运行结果为:rnrnx+y= 11rnI'm father!rnSon类中,m和n的值为:0、0rnrn从显示结果来看,5和6分别给了x和y。rn疑问就是,子类中如果不调用父类的构造方法eclipse就会提示出错;而且我无法对m、n初始化,否则也提示出错。。。rn求助各位讲解一下这类继承关系中的构造方法的格式和使用吧。rnrn先谢谢了
Java面试之父子类(3)-构造方法顺序
在查看答案之前,先猜测一下正确答案吧!package com.company; class ParentClass { public ParentClass() { System.out.println("父类无参构造代码块 "); } public ParentClass(String name) { System.out.print...
Java 子类、父类变量、代码块、构造方法加载顺序
1       序言: Java中子类、父类变量,代码块,以及构造方法的加载顺序,是我们在程序开发中经常遇到的一个问题,也是比较容易混淆的。 2       正文 为此,我们先来分析一下,一个java程序的构成: 变量: 成员变量(静态变量又叫类变量、实例变量)和局部变量  方法: 成员方法和构造方法  代码块:普通代码块、构造代码块、静态代码块、同步代码块  想要弄清楚子类、父类变
java中没有显示定义构造方法
java中没有显示定义构造方法,在编译的时候会生成默认的构造方法,那这个默认生成是谁生成的?JVM?rn还是编译器?
java中怎么快速找到接口或者父类的实现和子类
选择接口或者父类。。按下Ctrl+T键
接口与子类
父类的引用指向子类的对象rn如:Collection c=new ArrayList(); rn这样做的深层意义是什么?
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法