「java调用基类」如何调用基类函数

博主:adminadmin 2022-11-23 05:05:10 56

本篇文章给大家谈谈java调用基类,以及如何调用基类函数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

在java中用来调用父类构造方法的关键字是

java中的关键字super有两种用法。

一、调用父类的构造方法,如:

class A

{

A(String s)

{

System.out.println(s);

}

}

class B extends A

{

B()

{

super("父类");

System.out.println("子类");

}

}

完整例子如下图:

二、调用父类的实例方法,如:

class A

{

void f1()

{

System.out.println("A.f1");

}

void f2()

{

System.out.println("A.f2");

}

}

class B extends A

{

void f()

{

super.f1();

f2();

}

void f2()

{

super.f2();

System.out.println("B.f2");

}

}

完整例子如下图:

如何使派生类对象只调用基类的构造函数

java版:class Base{ private String name; private int age; public Base(String name,int age){ this.name = name; this.age = age; }} class Child extends Base{ public Child(String name,int age){ super(name,age); }} C#版:class Base{ private string name; private int age; public Base(String name,int age) { this.name = name; this.age = age; }} class Child : Base{ public Child(string name,int age) :base (name,age) { }} 别忘了给java版添加get/set, 给C#版添加Property, 不然这样做基本没什么意义。

JAVA在基类构造函数里调用成员函数的问题

我也是初学者,但我的理解是这样:

当父类类A中存在 无参的构造方法时候,java虚拟机是 默认调用父类的无参构造方法,为什么是这样呢?因为子类要先继承父类的成员,才能把他爹的东西变成自己的东西(实际生活中也是这样)。

如何调用呢?当父类中有无参的构造函数时候,java虚拟机(jvm)就会给子类A默认添加一个 super();方法,这个方法的作用(父类空间的引用),就是调用父类的无参构造方法(如果super()括号里有参数的话,调用的是有参的构造函数)。不知道楼主是否懂得?

导致:new一个子类B对象的时候,java虚拟机为B添加一个super();为了调用父类的w无参构造方法,这时候发现父类的无参构造函数中有fun();方法,所以调用造子类的先执行(父类的fun()方法还没有执行到,子类的先执行,原因是new一个子类的时候,就给子类的fun方法开辟了一个空间,就已经存在了)。所以就比父类的fun方法先执行了。

楼主喜欢就记得采纳一下。不懂可以追问。

java中基类的构造函数中调用的方法被子类中的方法重写,那么究竟调用的是哪个方法?

在java中Base b=new Drived();代表了多态,父类的引用指向子类对象,这时候在调用方法时,遵循一个规律,父类引用调用方法时,如果该方法被子类覆盖了,那么在调用时会直接调用子类中的方法,如果这个方法没有被子类覆盖,那么就会报错(该错误会在编译时直接出现编译失败),这既是多态的好处(前期定义的代码可以使用后期的内容)也是多态的局限性(前期定义的代码不可以使用后期子类的特有的内容)。

java中子类调用祖父类(父类的父类)的方法

1、如果是多态,只能通过super的方式调用基类方法,具体决定于父类是否覆盖了父类的父类方法,如果父类的方法覆盖了父类的父类,则super无法调用到父类的父类方法。如果父类的方法没有覆盖父类的父类,则super可以调用到父类的父类方法。

public class A{//定义类A

    public void show(){

    }

}

public class B extends A{//定义子类B,继承类A

    public void show(){

      super.show();//调用父类A的方法show

    }

}

2、如果不是多态,则可以直接访问方法名就能够访问到父类的父类方法

public class A{//定义类A

    public void show(){

    }

}

public class B extends A{//定义子类B,继承类A

    public void me(){

      show();//调用的是父类A中定义的show方法

    }

}

Java中调用基类构造函数的问题

子类初始化时,必须是先初始化父类,没写super,就是

默认调用了父类无参的构造函数。你写了super,就按照你意思调用。

还不清楚,就说。

关于java调用基类和如何调用基类函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。