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

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

0

8个回答

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

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

0

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

0

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

0

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

0

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);//调用接口方法实现增加学生

0

他本身没有数据
你说的数据是不是定义的方法里的参数
public boolean add(Student s);
这里的
Student s

int index;
String str;

0

首先接口是是抽象的,他没有任何具体实现,没有任何方法体,只有方法签名和返回类型,你说的数据应该是实现该接口的类中的吧。
例如 User user = new UserImpl(); UserImpl是User的实现类,user对象是UserImpl向上转型后的,
建议看一下多态方面的知识

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在创建接口引用指向子类对象时,能否访问Object类中的方法?答案是可以的
说先来一段代码引入疑惑:package com.sunwoda.blogdemo;public class Test1 { public static void main(String[] args) { Inter i = new Demo();//-------------(1) i.print();//-------------------------
(JAVA基础)JAVA子类构造函数的方法
实际问题中,JAVA子类的构造函数有时会出现无法编译通过的情况,如: class Fu{ public int age; Fu(int age) { this.age = age; } } class Zi extends Fu{ public int age; Zi(int age) { this.age = age; } } 则无法编译通过!   因为构造函数...
子类的构造方法(与super关键字相结合)
1、 隐式调用:子类构造方法没有显示调用父类构造方法(子类中没有super()),那么父类必须显示提供无参构造方法。 显示调用: 2、实例1: 在calcPerimeter方法中使用的是length与4相乘,而不是width,是因为width是pirvate类型的,length是protected类型的,private只能在其所在的类中使用。 3、实例2: super放在第一行 ...
Java继承,子类实例化时,调用父类的无参构造方法
子类继承父类时,会继承父类的非私有成员变量和方法。子类实例化时,必须执行父类一系列的初始化工作,如果有多个间接父类,从最初的那个父类执行,这样,子类才能够拥有父类的成员变量和方法。子类实例化时总是先调用父类的无参构造方法示例一父类:Father 子类:SonFather.java//package com;public class Father { private String name
如果父类没有无参构造方法,那么子类的构造方法会出现什么现象呢?
/* 如果父类没有无参构造方法,那么子类的构造方法会出现什么现象呢? 报错。 如何解决呢? A:在父类中加一个无参构造方法 B:通过使用super关键字去显示的调用父类的带参构造方法 C:子类通过this去调用本类的其他构造方法 子类中一定要有一个去访问了父类的构造方法,否则父类数据就没有初始化。 注意事项: this(...)或者super(...)必须出现在第一条语
继承小知识点:父类如果没有无参构造器会怎样?
如果父类没有无参构造方法,那么子类的构造方法会出现什么现象呢? 报错。 如何解决呢?   A:在父类中加一个无参构造方法 B:通过使用super关键字去显示的调用父类的带参构造方法 C:子类通过this去调用本类的其他构造方法 子类中一定要有一个去访问了父类的构造方法,否则父类数据就没有初始化。
使用Java的子类调用构造方法super()和this()
package Test; abstract class FatherClass{ FatherClass(){ System.out.println("无参父类构造方法"); } FatherClass(int i){ System.out.println("有参父类构造方法"); } } class SonClass extends FatherClass{
Java 父类构造函数中调用子类重写的方法
参考文章 看一段代码:public class main_class { public static void main(String[] args){ new c2(); } } class c1{ String name="aaaaaa"; //父类构造函数 public c1(){ print(); } //该构
Java子类继承父类,构造方法的执行顺序问题
在Java中,子类实例化时会调用父类构造方法,子类父类方法中会有一个函数生成表,执行时实现动态链接,子类重写父类方法时执行顺序也是这样    对于执行父类构造方法的问题。可以归纳为两种情况 1,如果父类有无参构造方法,子类会默认调用此方法(除非super显示调用父类有参)为隐式调用。 2,在子类中使用super显示调用父类有参了,或者this调用自身其他构造方法,则调用父类有
Java继承,子类默认在构造函数中用super()调用父类构造函数
1.子类继承父类的方法属性,并重写父类的方法,子类修饰符不能比父类方法的修饰符的范围狭窄。 Protect 与 默认 区别: protected :成员 本类和子类可以访问。【其他类不可以使用(即使同一个包中)】 Frinedly(友好/默认):成员 本类和子类,同包可以访问【其他类可以使用】 继承中的构造方法的执行顺序:父类有构造函数,子类也写构造方法的时候必须显示的调用父类的构造方
关于子类构造方法中super关键字的使用记录
java中,父类中有无参构造方法,子类中可以构建构造方法而无需添加super,如果父类中没有无参构造方法,那么子类中就必须构建父类中有的构造方法(需遵循先构造父类,再构造子类),并且相应的有参构造方法的第一行就得有super(x,y...),不然会编译错误,有无参构造方法,子类中的有参构造方法就可以不加super(x,y...)。如下, 类Animal 添加  public Animal() {...
为什么子类的构造方法一定会调用父类的某个构造方法
首先我们要知道构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用 子类中,它在调用父类中空参数的构造函数。因为子类继承父类,会继承到父类中的数据,所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程 定义一个Dog类继承自Animal类 Animal类中有一个有参构造方法,传入变量 name public cl
java创建一个子类对象是会调用父类的构造方法会不会创建父类
1、子类在创建实例后,类初始化方法会调用父类的初始化方法(除了java.lang.Object类,因为java.lang.Object类没有父类),而这种调用会逐级追述,直到java.lang.Object的初始化方法。这个地方我说的是初始化方法,而不是构造方法,因为构造方法是相对于java源程序而言,而编译后的class文件是初始化方法即" "方法(红色部分为方法名),初始化方法是由java源程
对象反序列化时,如果父类未实现序列化接口,则反序列出的对象会再次调用父类的构造函数来完成属于父类那部分内容的初始化
对象反序列化时,如果父类未实现序列化接口,则反序列出的对象会再次调用父类的构造函数来完成属于父类那部分内容的初始化。 1、当将一个父类没有实现序列化的对象son使用ObjectOutputStream流写到本地文件中时,没有能将该对象中属于父类的部分写入到文件,因为ObjectOutputStream流不能将一个没有实现序列化的类的对象写入文件中。当将本地文件中保存的son对象通过ObjectInp
new 一个没有定义构造方法的子类对象,会调用父类的默认构造方法
如题:new 一个没有构造方法的子类,会调用父类的无参构造方法。如下面的两个类:
java中关于子类实例化时调用父类无参构造方法的问题
java中子类在实例化的时候调用父类的无参构造方法容易混淆的大致分以下几种情况: 1、子类和父类同时具有有参和无参的构造方法,子类有参构造方法中第一行写的有super.(xx),且子类实例化时用的是有参构造方法,那么此时不会先调用父类的无参构造方法,而是直接调用子类的有参构造方法; 2、子类和父类同时具有有参和无参的构造方法,子类有参构造方法中第一行写的没有super.(xx),且子类
java 父类构造方法参数的有无对子类构造的影响
情况1:父类有无参构造方法时 子类可以无参构造方法也可以没有无参构造方法,若无无参调用方法则需要显示的调用super(参数); 情况2:父类中无无参构造方法时 子类一般不允许有无參构造方法,因为无參构造方法,构造时没有参数传入,而父类中没有无參构造方法,子类中只能显示调用super(参数),但 又不存在参数,因此不允许有无參构造方法。 但也有例外: 这里我思考了一下会不会存在这种情况 代码如下 ...
子类无参构造调用父类有参构造方法
先上问题:为什么我的子类无参调用父类有参会出错??有同学这样问我,上图。class Person{ public Person(String name) { System.out.println("My name is "+name); } } class Man extends Person{ private String name = "Hell
java中子类调用父类的构造方法
在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?    答案如下:      当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方
父类不含无参构造方法子类构造方法必须显式调用
在继承关系下实例化子类的时候会先实例化其父类,然后再实例化子类。 也就是说在new一个子类的时候,其实是需要先把父类new出来的,如果父类中还有父类,那么就会逐层进行,从最顶层的父类先实例化,最后才到当前的子类。
为什么java的子类中必须调用父类的构造方法
子类继承父类的字段和方法。 你想那么子类中从父类继承的字段,要谁来初始化呢? 父类中有这些字段的初始化方式,所以最好的选择就是用父类的构造方法。 设计者,可能是这么考虑的。 再告诉你一个事,每当你new一个子类对象的时候,子类对象都隐式内置了一个父类对象。 java创建对象的三个步骤就是,申请内存,调用构造方法,返回对象引用。 所以说,为了那个内置的父类对象,也
java继承,子类构造方法赋值给父类对象
java继承,子类构造方法赋值给父类对象,通过该对象访问方法和变量的不同情况说明
JAVA中 子类与父类构造方法的关系 个人理解
编写JAVA作业时在继承的环节发现了一些错误,总结一些规律: 一句话概括就是:子类一定会调用(不是继承)父类的构造方法! 即遵循一个原则:子类的构造一定是在父类已构造的基础上!(以上属于自己归纳,可能有问题) 这句话要分为几种情况来理解(下面只讨论父类有构造函数): 子类构造函数自动调用super() (也可以手动加上) 但如果父类只有含参数的构造方法,那么子类必须申明一个构造方法,其中
java 子类的成员变量不可以在父类的构造方法中初始化
最近在开发过程中遇见一个问题,子类定义成员变量,然后在父类的构造方法中初始化。结果后面一直报这个成员变量为null。按照思维惯性,是不应该为null的。 于是,我写了一个小测试,发现确实如此。 public class Main { public static void main(String[] args) { Child child = new Child();...
Java父类与子类静态代码块、构造代码块、构造方法的执行优先顺序
(1)如果只有一个类,执行顺序: 静态初始化代码块、构造代码块、构造方法 (2)如果有父类和子类,执行顺序: 1.父类静态初始化代码块、子类静态初始化代码块 2.父类构造代码块、父类构造方法 3.子类构造代码块、子类构造方法 代码举例: public class HelloB extends HelloA { public HelloB() { System.out.println("B构造...
Java面试之父子类(2)-父子类构造方法
在不看答案之前,先猜测一下答案吧!package com.company; class ParentClass { public ParentClass() { System.out.println("父类无参构造代码块 "); } public ParentClass(String name) { System.out.println...
关于子类调用父类构造方法的问题
昨天班级有一个小测验,结果自己觉得还不错的错了好几道题,自己总结了一下,主要是子类继承父类时候构造方法的问题不太清楚,今天就总结一下。1.子类会默认调用父类的无参构造方法举例来看:public class Derived extends Base {        public Derived (String s) {               System.out.println("这是子类的...
java中子类继承父类时是否继承构造方法?
答案是:java中子类是不会继承父类的构造函数但是可以调用 父类 Animal: package encryption; public class Animal { private String name = "animal"; public Animal() { System.out.println(".....this is Animal."); } publi
Java构造器 继承问题(子类是否必须实现父类的有参构造函数)
首先,答案是否定的,但是 如果你在父类中写了一个有参构造函数,但是没有声明无参构造函数,就有问题。 (这里补充一下,我们都知道,当我们不写有参构造函数的时候,系统会自动生成一个无参构造函数,而且每个类的创建都依赖构造函数,子类的构造函数依赖父类的构造函数,这牵扯到一个隐式传递super和this的问题 不多赘述) ,因为你在父类中只有有参构造函数,没有无参构造函数,但是子类如果不写构造函数,系
Java中子类调用父类构造函数总结
1.前提:父类和子类同时都有有参的构造函数和无参构造函数。              Java中的子类初始化时初值为空。调用顺序为先调用父类无参构造函数,然后调用子类无参构造函数。              java中的子类初始化时初值不为空。调用顺序为先调用父类无参构造函数,然后调用子类有参构造函数。 2..前提:父类和子类无无参构造函数只有有参构造函数。        
Java子类调用父类构造方法
在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?        答案如下:         当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候
Java子类调用父类的有参和无参的构造方法
1、Java子类自动调用父类的无参构造方法 例1:class Test1{ public Test1(){ System.out.print("1"); } } class Test2 extends Test1{ public Test2(){ System.out.print(" 2"); } } public class Tes
在Java中子类能否重载父类的构造方法?
1,首先明确一点子类不能重载父类的构造方法 2,由于在java中类的构造函数与类的名称相同,不可能子类和父类使用相同的类名称,因此子类也就不能重载父类的构造函数,但子类可以通过super来调用父类的构造函数。 3,也就是在子类的构造方法里面使用 super() 的方法来调用父类; package javaClass; /* * 编写一个java程序,设计一个汽车类Vehicle
java中 抽象类构造方法的理解
抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。 在继承了抽象类的子类中通过super(参数列表)调用抽象类中的构造方法 示例代码如下: 运行结果: 抽象类虽然不能自己实例化对象,但是在子类新建对象调用子类的构造方法时会先调用抽象类的无参构造方法,这样一来,就可以给给抽象类的参数赋值了。
JAVA向上转型,构造函数
将子类的实例,赋值给父类的引用,就是向上转型。 Class A{ } Class B extends A{ } A a=new B(); 向上转型,在运行时,会遗忘子类对象中与父类对象中不同的方法,同时也会覆盖与父类中相同的方法(重写),a中可调用的方法就是A有的,B没有的,以及B重写的方法。特别注意的是父类中的static 方法,子类可以重写,但是不能覆盖,向上转型的时候调用的还是父类的
Java 子类构造方法与父类构造方法的问题
子类带参构造方法与父类构造参数的问题 看一段代码 class Base{ public Base(String s){ System.out.print("B"); } } public class Derived extends Bas
java-继承:实例化子类之前先要实例父类 即执行子类构造方法前先执行父类构造方法
因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。如果你初始化子类的时候,不初始化父类,那么你通过子类调用父类方法或变量的时候会出现什么情况呢?当然就是抛异常啊!在创建子类的对象时,jvm会首先执行父类的构造方法,然后再执行子类的构造方法,如果是多级继承,会先执行最顶级父类的构造方法,然后依次执行各级个子类的构造方法。...
java中子类继承父类时是否继承构造函数呢?
java继承中对构造函数是不继承的。以下是例子: public class FatherClass { public FatherClass() {       System.out.println(100); } public FatherClass(int age) {      System.out.println(age); }} public class SonC
java中子类继承父类时,是否继承构造函数
java继承中对构造函数是不继承的,只是调用(隐式或显式)。以下是例子: 1、子类隐式的调用父的构造函数 public class FatherClass { // 无参的构造函数 public FatherClass() { System.out.println("我是父类无参数的构造方法:" + 100); } //有参的构造
如果父类没有无参的构造方法,那么其子类能否有无参数的构造方法?为什么?
不能,当你new一个子类对象的时候,必须首先要new一个父类的对象出来,而这个父类对象肯定是位于子类对象的内部,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对象出来,那么肯定要调用其构造方法,一个类,如果我们不写构造方法,那么编译器会帮我们加上一个默认的构造方法,所谓默认的构造方法,就是没有参数的构造方法,所以有时候...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 构造方法java学习 java构造方法的学习