精华内容
下载资源
问答
  • 主要介绍了Java父类调用子类的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 调用父类我们都很熟悉,那调用父类的父类呢? 代码如下: public class 测试{ public static void main(String[] args) { son a=new son(); a.inNumber(0);/*调用grandfather类中inNumber方法向number赋值*/ ...

    调用父类我们都很熟悉,那调用父类的父类呢?
    代码如下:

    public class 测试{
    	public static void main(String[] args) {
    		son a=new son();
    		a.inNumber(0);/*调用grandfather类中inNumber方法向number赋值*/
    		a.print();/*调用son类中print方法输出number值*/
    	}
    }
    
    class grandfather/*父类的父类(祖父类)*/{
    	private int number;
    	public grandfather(){
    	}
    	public int getNumber()/*返回number值*/{
    		return number;
    	}
    	public void inNumber(int number)/*向number赋值*/{
    		this.number=number;
    	}
    }
    
    class father/*父类*/ extends grandfather{
    	public father(){
    	}
    	
    	@Override/*重写标识*/
    	public int getNumber(){
    		return super.getNumber();
    	}
    }
    
    class son/*子类*/ extends father{
    	public son(){
    	}
    	
    	@Override
    	public int getNumber(){
    		return super.getNumber();
    	}
    	
    	public void print() {
    		System.out.println(this.getNumber());
    	}
    }
    

    上例中为了在 son类 中实现得到 grandfather类 的 private number 值,并仅调用 son类 中方法输出number值,采用类似递归的做法。

    展开全文
  • 当一个类继承于另一个类,子类中没有父类的方法时,用子类的对象调用方法时,会首先在子类中查找,如果子类中没有该方法,再到父类中查找。 当一个方法只在父类中定义时,调用该方法时会使用父类中的属性。 如果该...

    当一个类继承于另一个类,子类中没有父类的方法时,用子类的对象调用方法时,会首先在子类中查找,如果子类中没有该方法,再到父类中查找。

    当一个方法只在父类中定义时,调用该方法时会使用父类中的属性。

    如果该方法中又调用了其他方法,那么还是按照之前的顺序,先在子类中查找,再在父类中查找。如果在子类中找到,调用子类的方法会使用子类的属性。

    展开全文
  • java调用父类构造器

    千次阅读 2014-11-15 21:35:59
    子类不会获得父类的构造器,但子类构造器里可以调用父类构造器的初始化代码

    子类不会获得父类的构造器,但子类构造器里可以调用父类构造器的初始化代码。

    class Creature
    {
    	public Creature()
    	{
    		System.out.println("Creature无参数的构造器");
    	}
    }
    class Animal extends Creature
    {
    	public Animal(String name)
    	{
    		System.out.println("Animal带一个参数的构造器,"+"该动物的name为"+name);
    	}
    	public Animal(String name,int age)
    	{
    		//使用this调用一个重载的构造器
    		this(name);
    		System.out.println("Animal带两个参数的构造器,"+"其age为"+age);
    	}
    }
    
    public class Wolf extends Animal {
    	public Wolf()
    	{
    		//显式调用父类有两个参数的构造器
    		super("灰太狼",3);
    		System.out.println("Wolf无参数的构造器");
    	}
    	public static void main(String[] args)
    	{
    		new Wolf();
    	}
    }
    
    执行结果如下:

    Creature无参数的构造器
    Animal带一个参数的构造器,该动物的name为灰太狼
    Animal带两个参数的构造器,其age为3
    Wolf无参数的构造器


    子类构造器调用父类构造器分为如下几种情况。

    >子类构造器执行体的第一行使用super显式调用父类构造器,系统将根据super调用里传入实例参数列表调用父类对象的构造器

    >子类构造器执行体的第一行使用this显式调用类中重载的构造器,系统将根据this调用里传入实例参数列表调本类中另一个构造器。执行本类中另一个构造器时即会调用父类构造器。

    >子类构造器执行体中既没有super调用,也没有this调用,系统将会在执行子类构造器之前,隐式调用父类无参数的构造器。

    不管上面那种情况,当调用子类构造器来初始化子类对象时,父类构造器总是会在之类构造器之前执行。



    展开全文
  • Java子类调用父类的构造方法

    千次阅读 2020-05-20 20:44:47
    一、自动调用父类无参构造方法 //这是父类 public class SuperClass { //父类无参构造方法 public SuperClass(){ System.out.println("父类无参构造方法"); } //父类带参构造方法 public SuperClass(String ...

    一、自动调用父类无参构造方法

    //这是父类
    public class SuperClass {
    
        //父类无参构造方法
        public SuperClass(){
            System.out.println("父类无参构造方法");
        }
    
        //父类带参构造方法
        public SuperClass(String str){
            System.out.println(str);
        }
    }
    
    //这是子类
    //这是子类
    public class SubClass extends SuperClass{
    
        //子类无参构造方法
        public SubClass(){
            System.out.println("子类无参构造方法");
        }
    
        //子类带参构造方法
        public SubClass(String str){
            System.out.println(str);
        }
    }
    
    //这是测试类
    public class TestMain {
    
        public static void main(String[] args) {
            SubClass sc1 = new SubClass();
            SubClass sc2 = new SubClass("子类带参构造方法");
        }
    }
    

    输出结果:

    父类无参构造方法
    子类无参构造方法
    父类无参构造方法
    子类带参构造方法

    总结:在子类初始化时会自动调用父类的无参构造方法(只调用无参构造方法,不调用带参构造方法)

    二、手动调用父类无参构造方法

    //这是父类
    public class SuperClass {
    
        //父类无参构造方法
        public SuperClass(){
            System.out.println("父类无参构造方法");
        }
    
        //父类带参构造方法
        public SuperClass(String str){
            System.out.println(str);
        }
    }
    
    //这是子类
    public class SubClass extends SuperClass{
    
        //子类无参构造方法
        public SubClass(){
            super();
            System.out.println("子类无参构造方法");
        }
    
        //子类带参构造方法
        public SubClass(String str){
    	    super();
            System.out.println(str);
        }
    }
    
    //这是测试类
    public class TestMain {
    
        public static void main(String[] args) {
            SubClass sc1 = new SubClass();
            SubClass sc2 = new SubClass("子类带参构造方法");
        }
    }
    

    输出结果:

    父类无参构造方法
    子类无参构造方法
    父类无参构造方法
    子类带参构造方法

    总结:子类也可以手动调用父类的无参构造方法

    三、手动调用父类的带参构造方法

    //这是父类
    public class SuperClass {
    
        //父类无参构造方法
        public SuperClass(){
            System.out.println("父类无参构造方法");
        }
    
        //父类带参构造方法
        public SuperClass(String str){
            System.out.println(str);
        }
    }
    
    //这是子类
    public class SubClass extends SuperClass{
    
        //子类无参构造方法
        public SubClass(){
            super("子类调用父类的带参构造方法");
            System.out.println("子类无参构造方法");
        }
    
        //子类带参构造方法
        public SubClass(String str){
            super("子类调用父类的带参构造方法");
            System.out.println(str);
        }
    }
    
    //这是测试类
    public class TestMain {
    
        public static void main(String[] args) {
            SubClass sc1 = new SubClass();
            SubClass sc2 = new SubClass("hello world");
        }
    }
    

    输出结构:

    子类调用父类的带参构造方法
    子类无参构造方法
    子类调用父类的带参构造方法
    子类带参构造方法

    总结:子类初始化时不会自动调用父类的带参构造方法,如果用到了父类的带参构造方法,则需要手动去调用,手动调用父类的构造方法后,子类不再自动调用父类的无参构造方法;

    注意:不管是子类手动调用父类的无参构造方法,还是手动调用父类的带参构造方法,代码必须写在子类构造方法的第一行

    展开全文
  • java子类调用父类构造器函数

    万次阅读 多人点赞 2019-06-25 15:52:54
    java子类调用父类构造器函数详解
  • 关于Java中子类调用父类方法

    千次阅读 2019-10-16 18:06:52
    其中,super()函数的作用就是调用他的父类的构造函数。下面我们来看一下。他父类的构造函数是什么? 该函数的作用是给,父类A中的变量x进行赋值。一定要注意你改变的是父类A中的x,并不是你在B类中定义的...
  • 子类B默认调用父类无参构造方法,但是如果父类写了有参构造方法却没写无参构造方法,就算子类写了无参构造方法也会报错。 但是若子类没有无参构造并且之后都没有用到无参构造,不会报错: 子类若要调用父类有参...
  • java中子类重写父类方法时调用父类同名方法: 在学装饰者模式的时候发现子类重写父类方法时调用父类同名方法: public abstract class Beverage { String description = "Unknown Beverage"; public String ...
  • Java子类调用父类构造方法

    万次阅读 多人点赞 2017-09-29 14:49:15
    Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?   答案如下:   当你new一个子类对象的时候,必须首先要new一个父类...
  • 在本篇文章里小编给大家整理了关于java子类调用父类的方法中包含子类重写的实例方法以及相关知识点,需要的朋友们可以学习下。
  • public class Teacher extends Employee { public static void main(String[] args) { } public void method() { super.method();...父类的方法 method() 是成员方法,虽然子类重新覆盖了,但是子类也继承
  • protected void setActionsActivated(boolean state) { Method method= null; try { method= AbstractTextEditor.class.getDeclaredMethod("setActionActivation", new Class[] { boolean.class...
  • 这篇文章主要探究了Java运行时多态中,子类重写了父类方法,并定义了和父类相同名称的成员变量,调用父类的方法,成员变量、静态变量等属性时,会具体调用子类还是父类的属性 先写一段Java多态的代码 父类 public ...
  • 父类调用子类的方法吗?答:能。 怎么做?● 把子类传递到父类的有参构造中,然后调用。● 使用反射的方式调用,你使用了反射还有谁不能调用的?!● 父类调用子类的静态方法。案例展示:[java] view plain ...
  • import java.util.Scanner; class A1{ public int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } public int f(int a,int b) { if(a>b) return gcd(a,b); else return gcd(b,a); } ...
  • Java如何调用父类的父类的中的方法

    万次阅读 多人点赞 2016-12-06 16:35:25
    2.可以用虚拟机级别的invokeddynamic实现(基于java1.7版本以及以上才可以) 代码如下: /** * @(#)Text4.java * * * @author * @version 1.00 2016/12/6 */ import java.lang.invoke.MethodHandle; import...
  • 继承有个特点,就是子类无法访问父类的private字段或者private方法。例如,Student类就无法访问Person类的name和age字段: class Person { private String name; private int age; } class Student extends ...
  • 在根父类下定义一个public String 方法名(){//方法体}的方法,方法体中返回子类中需要调用的属性或值,就可以在子类中进行调用。 ------若有不足之处,或更好的方法请下方评论指出讨论
  • Java_24 显式调用父类的构造方法_父类中有多个调用方法_父类(01) //可以在子类中指定调用父类中的哪个构造方法,在父类中有多个构造方法的时候,就特别有用. //给父类添加多个构造方法 package my; public ...
  • Java的重写与调用父类方法问题

    千次阅读 2017-05-30 19:22:28
    当我们重写了父类方法后,又想同时调用父类的方法,而不是已经重写了的方法,可以这样: public class main{ static Scanner cin = new Scanner(System.in); public static void main(String[] args) { Sun ...
  • java子类如何调用父类变量和方法

    万次阅读 多人点赞 2016-09-21 16:56:05
    子类直接调用父类的public方法,可以把公用类放到父类中,这样子类中无需再定义一遍, testSon.fun3(); } // 从结果中可以看出:调用某个类的构造方法的时候总是会先执行父类的非静态代码块,然后执行父类的构造方法...
  • Java 子类调用父类构造函数----super()详解

    万次阅读 多人点赞 2017-07-17 16:51:54
    Java 子类调用父类构造函数----super()详解
  • java子类调用父类的构造函数-----super()详解 1.子类不能继承父类的构造函数,但是可以调用父类的构造函数 2.如果父类没有定义构造函数,系统会默认定义一个无参无返回值的构造函数,子类继承时无需在子类构造函数...
  • 主要介绍了Java super关键字调用父类过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 如果,Test类继承Father类,实例化以后,Test引用t却能调用父类f1函数,请问各路大神为什么?最近学完J2EE以后很多基础都忘了,希望大神勿喷,谢谢。![图片说明]...
  • java在父类中创建父类型的子类型对象是可以调用父类的私有方法的吗? 如图:父类有一个私有方法f(),然后再父类中创建一个父类型的子类对象student,然后用子类对象student调用f()方法。 ![图片说明]...
  • } } //信用账户 class CreditAccount extends Account{ //属性:信誉度 //子类特有的一个特征,父类没有 private double credit; //构造方法 public CreditAccount(String actno,double balance,double ...
  • 通过子类调用父类的变量,有两种方法: 1.把父类的变量设置成public: package triangle.opengl.wlz.stu.childusefathervariable; import android.util.Log; public class BasePublicVariable { private String ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 417,573
精华内容 167,029
关键字:

java调用父类

java 订阅