java调用构造方法怎么操作?Java 构造方法有什么特点?

阳光 2021-06-08 18:48:56 java常见问答 7155

构造方法是类的一种特殊方法,Java 中的每个类都有一个默认的构造方法,并且可以有一个以上的构造方法。那java调用构造方法怎么操作?下面来我们就来给大家讲解一下。

Java调用构造方法,那就是子类调用基类(父类)的构造方法,子类中的构造方法的规则:

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

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

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

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

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

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

示例如下:

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);
    }
}

依次验证上面的语法。

Java 构造方法有什么特点?

1.方法名必须与类名相同;

2.可以有 0 个、1 个或多个参数;

3.没有任何返回值,包括 void;

4.默认返回类型就是对象类型本身;

5.只能与 new 运算符结合使用;

值得注意的是,如果为构造方法定义了返回值类型或使用 void 声明构造方法没有返回值,编译时不会出错,但 Java 会把这个所谓的构造方法当成普通方法来处理。

这时候大家可能会产生疑问,构造方法不是没有返回值吗?为什么不能用 void 声明呢?

简单的说,这是 Java 的语法规定。实际上,类的构造方法是有返回值的,当使用 new 关键字来调用构造方法时,构造方法返回该类的实例,可以把这个类的实例当成构造器的返回值,因此构造器的返回值类型总是当前类,无须定义返回值类型。但必须注意不要在构造方法里使用 return 来返回当前类的对象,因为构造方法的返回值是隐式的。

Java 构造方法的特点大家应该知道了吧,它用来初始化类的一个新的对象,在创建对象之后自动调用,还是很方便的。最后大家如果想要了解更多java入门知识,敬请关注奇Q工具网。

推荐阅读:

java怎么入门快?java快速入门技巧

java编码过程中遇见的坑有哪些?相关讲解

如何用java搭建网站?java做网站要哪些技术?