温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何定义java的构造器

发布时间:2021-10-11 09:24:40 来源:亿速云 阅读:139 作者:iii 栏目:开发技术

这篇文章主要介绍“如何定义java的构造器”,在日常操作中,相信很多人在如何定义java的构造器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何定义java的构造器”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录
  • 1、构造器

    • 1.1 权限修饰符是public

    • 1.2 显示定义构造器

1、构造器

构造器也叫构造方法、构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化。构造器的用处是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。

有两种类型的构造方法:

  • 1、默认构造方法(无参数构造方法)

  • 2、参数化构造方法

1.1 权限修饰符是public

权限修饰符是public,表示内部属性能被其他类访问到。

java默认的构造方法是无参的。

Java编译器会自动创建无参构造函数,因此在类中,无参构造即使没有,我们也可省略不写。实例化对象时无需赋值

新建一个Person类,再用new实例化person对象。运行后会生成一个Person.class对象。

public class Demo02 {
    public static void main(String[] args) {
        //new 实例化一个对象
        //一个类就算什么也不写,也存在一个方法,且方法名与类名相同。
        Person p=new Person();创建对象,括号内无需赋值,没赋值的情况下,字符类型默认值为null,数值类型默认值为0
    }
}

public class Person {

}

若类中什么也不写,运行之后,默认多一个Person()方法,下面是Person.class的代码:

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package Demo01;

public class Person {
    public Person() {
    }
}

故:一个类就算什么也不写,他也会存在一个默认的方法

参数化构造方法:

  • 参数化构造方法用于为不同对象提供不同初始化的值。

  • 倘若类中已存在有参构造函数,则编译器不再提供默认无参构造。实例化对象时需赋值,不然报错

1.2 显示定义构造器

package Demo01;

public class Demo02 {
    public static void main(String[] args) {
        //new 实例化一个对象
        //一个类就算什么也不写,也存在一个方法,且方法名与类名相同。
        Person p=new Person();
        System.out.println(p.name);//null
    }
}
package Demo01;

public class Person {
    String name;
    //实例化初始值
    //1、使用new关键字,本质实在构造器
    //2、用来初始化值
    public Person(){//默认构造器
        this.name="xiaoming";
    }

    //有参构造:一旦定义了有参构造,无参构造就必须显示定义,否则无效,也是重载
    public Person(String name){
        this.name=name;
    }

    //快捷键: alt + insert     生成构造器,自动生成构造器,有参无参可自行选择。
}

总结:

构造器:

  • 1、和类名相同

  • 2、没有返回值

作用:

  • 1、new 本质在调用构造方法

  • 2、初始化对象的值

注意:定义构造之后,如果想使用无参构造,显示的定义一个无参构造,否则不能使用无参的构造方法ALT + INSERT 生成构造器

到此,关于“如何定义java的构造器”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI