java之继承中的构造方法

继承中的构造方法 

1、子类的构造过程中必须调用其基类的构造方法。

2、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。

  2.1、使用this(argument_list)调用本类的另外构造方法。

    2.2、如果调用super,必须写在子类构造方法的第一行。

3、如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法。

4、如果子类构造方法中既没有显示调用基类构造方法,而基类又没有无参数的构造方法,则编译出错。

class SuperClass{
    private int n;
    //SuperClass(){
    //    System.out.println("SuperClass()");
    //}
    SuperClass(int n){
        System.out.println("SuperClass(int n)");
        this.n = n;
    }
}
class SubClass extends SuperClass{
    private int n;

    SubClass(){
        super(300);
        System.out.println("SuperClass");

    }
    SubClass(int n){
        System.out.println("SubClass(int n):"+n);
        this.n = n;
    }
}
public class TestSuperSub{
    public static void main (String args[]){
        //SubClass sc = new SubClass();
        SubClass sc2 = new SubClass(200);
    }
}

依次验证上面的语法。

时间: 2024-10-17 14:23:50

java之继承中的构造方法的相关文章

Java 继承中的构造方法

Java 继承中的构造方法 子类可以继承父类的构造方法,并遵循以下原则: 子类构造的构成中必须调用其基类的构造方法.    2.子类可以在自己的构造方法中使用super()调用基类的构造方法. 使用this()调用本类的另外的构造方法. 如果调用super(),必须写在子类构造方法的第一行. 3.如果子类的构造方法中没有显示的调用基类构造方法,则系统默认调用基类无参的构造方法.    4.如果子类的构造方法中既没有显示的调用基类的构造方法,而基类中又没有无参的构造方法,则编译会出错. 1 cla

JAVA继承中的构造方法

继承中的构造方法: //A 继承于 B //1.在new一个A之前,需要先构造一个B //2.在A的构造方法内中使用"super()"关键字先对B进行构造(需要将super关键字放在构造方法的第一行,因为只有先构造出了B之后才能进行下一步的A的构造) //3.在A构造方法中没有写super关键字的时候,编译器会自动调用父类无参的构造方法(无论父类无参构造方法有没有重写) //4.super()根据传入参数对应父类不同构造方法 //5.super()在多层子类中只是构造向上一层类中的构造

day4(继承、修饰符、方法的重写、super关键词、继承中的构造方法、object类、对象转型)

1.类的继承(extends)通过继承,子类自动拥有父类的所有成员(成员变量和成员发方法)一个子类只能有一个父类,一个父类可以派生多个子类 2.访问修饰符(private 默认 protected public )对于class的权限修饰只可以用public和defaultdefault只能被同一个包内部的类访问 3.方法的重写(override)在子类中可以根据需要对从父类中继承来的方法进行重写重写方法必须和被重写方法具有相同方法名称.参数列表和返回类型重写方法不能使用比被重写方法更严格的访问

201671010145 2016-2017 《Java程序设计》java的继承中什么叫方法覆盖,是如何实现的?

方法覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用.最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而在实现时,就需要实现接口声明的所有方法.除了这个典型的用法以外,在继承中也可能会在子类覆盖父类中的方法.在覆盖要注意以下的几点:1.覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果:2.覆盖的方法的返回值必须和被覆盖的方法的返回一致:3.覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类:4.被覆盖的方法不

Java泛型 继承中类型变量的关系

通过例子来看泛型类在继承中过程中类型变量应该具有怎样的关系. 首先给出几个辅助类: package generic; public class Animal { } package generic; public class Person extends Animal { private String name; public Person(String name) { super(); this.name = name; } public String getName() { return n

Java学习---3.面向对象--继承和权限控制,重写,继承中的构造方法

1.Java只能支持单继承,不允许多继承.子类自动拥有基类的所有成员. class Students extends school(){} ,父类中私有的方法也会被继承下来,但是子类没有使用权. 内存分析: 2.default类只能被同一个包内部的类访问 super关键字:Java中使用super来引用基类的成分. 重写::equals().其默认定义为两者为同一对象.

java基础:继承中的构造方法规则

一:相关规则 (1)子类的构造过程中必须调用父类的构造方法 (2)子类可以在自己的构造方法中使用super(argumentList)来调用父类的构造方法; 使用this(argumentList)调用本类的其他构造方法 如果使用super(argumentList)来调用父类的构造方法,必须写在子类构造方法的第一行. (3)如果子类的构造方法中没有明确地调用父类的构造方法,则默认调用无参的构造方法.相当于在子类构造方法中默认执行super() (4)如果子类构造方法中,即没有显示地调用父类的构

继承中的构造方法

1.子类的构造过程中必须调用其基类的构造方法.2.子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法. 2.1 使用this(argument_list)调用本类的另外构造方法. 2.2 如果调用super,必须写在子类构造方法的第一行.3.如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法.4.如果子类构造方法中既没有显示调用基类构造方法,而基类又没有无参数的构造方法,则编译出错.

java在继承中父类的成员变量是否会被子类所覆盖

假如 父类 int num =7:子类 int num =9:父类是否会被子类所覆盖? 给你看两个例子: 第一个例子: 第二个例子: 这两个例子的区别只有一句话   由此证明了子类从父类继承的时候  如果有同名的成员变量 默认情况下 父类的成员变量是被屏蔽的   如果你非要调用父类的成员变量  请使用super关键字