java 构造器 24

构造器

构造器是类的组成部分。
作用:初始化一个对象且返回该对象的地址。

	构造器的格式:
	        修饰符 类名(形参列表){
	        
	        }
  • 修饰符:现阶段都用public.
  • 类名:构造器的名称必须是当前类名,否则报错!
  • 构造器不能申明返回值类型,默认返回对象的地址引用。
  • 形参列表:与方法一样。(数据类型 形参变量1, 数据类型 形参变量2,…)

构造器的分类:

  1. 无参数构造器。
  2. 有参数构造器。

构造器的作用:初始化一个对象并返回对象的地址。
构造器初始化对象的格式:类名 对象名称 = new 构造器;

构造器的注意事项:

  • 随便写一个类,默认就会自带一个无参数构造器。
  • 但是如果自己又写了有参数构造器,那么默认的无参数构造器就消失了此时需要程序员自己写一个无参数构造器才能使用它。

例子无参构造器:

public class ConstructorDemo01 {
    public static void main(String[] args) {
        // 初始化对象
        Wolf qpl = new Wolf();
        System.out.println(qpl);
    }
}

class Wolf{
    // 1.无参数构造器。
    public Wolf(){
        System.out.println("无参数构造器被触发指向,返回对象的地址~~");
    }
}

构造器存在重载的:
可以为一个类提供有参数构造器也可以提供无参数构造器,我们称为他们同时存在为构造器重载。

无参数构造的作用:
初始化一个类的对象返回,里面的成员变量都采用默认值。(一般情况下编程中必须提供无参构造器

有参数构造的作用:
初始化一个类的对象返回,可以在初始化对象的时候为对象的成员变量立即赋值。 Animal taiTi = new Animal(“泰迪”,2 , ‘公’);(立即赋值)

public class AnimalDemo {
    public static void main(String[] args) {
        // 1.调用无参数构造器初始化一个对象返回:对象都是采用默认值。
        Animal jinMao = new Animal();
        jinMao.setName("金毛");
        jinMao.setAge(2);
        jinMao.setSex('公');
        System.out.println(jinMao.getName());
        System.out.println(jinMao.getAge());
        System.out.println(jinMao.getSex());
        jinMao.run();

        // 2.调用有参数构造器初始化一个对象返回:对象都会直接赋值。
        Animal taiTi = new Animal("泰迪",2 ,  '公');
        System.out.println(taiTi.getName());
        System.out.println(taiTi.getAge());
        System.out.println(taiTi.getSex());
        taiTi.run();
    }
}

class Animal{
    // 1、成员变量(属性): 建议私有。
    private String name ;
    private int age ;
    private char sex;

    // 3、无参数构造器默认的。(必须提供的)
    public Animal() {
        System.out.println("无参数构造器被执行~~~");
    }
    // 4、有参数构造器(建议提供)
    public Animal(String name, int age, char sex) {
        System.out.println("有参数构造器被触发执行~~~~");
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    // 5.普通方法
    public void run(){
        System.out.println("名字是:"+name+",年龄是:"+age+" , 性别是:"+sex+" , 跑的贼溜~~~~~");
    }

    // 2、getter+setter方法:暴露成员变量的取值和赋值。(自动生成)。
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }
}

注意:
在编程中无参构造器和有参构造器都是可以由工具直接生成的

鼠标右击—>选中Generate—>选中Constructor—>按住Shift键然后直接点击最后一个则直接全部选中点击OK则是生成的是有参构造器,点击Select None 则生成的是无参构造器。

发布了34 篇原创文章 · 获赞 16 · 访问量 280

猜你喜欢

转载自blog.csdn.net/qq_41005604/article/details/105250662