构造方法的使用、注意事项以及构造方法的重载

package Object;
/*
    构造方法:
        给对象的数据进行初始化
    格式:(也是判断构造方法的条件)
        1.方法名和类名相同
        2.没有返回值类型,连void都不能写
        3.没有具体的返回值
     构造方法的注意事项:
                     A:如果我们没有给出构造方法,系统将会提供一个默认的无参构造方法供使用;
                     B:如果我们给出了构造方法,系统将不在提供默认的无参构造方法供我们使用。
                       这个时候,如果我们想使用无参构造方法,就必须自己提供。
                       推荐:自己给无参构造方法
                     C:构造方法也是可以重载的
                         方法重载的定义:方法名相同,参数列表不同
     成员变量的赋值方法:
                    A:setXxx()方法
                    B:带参数的构造方法
                 例子:public Student02(String name,int age){
                      this.name=name;
                      this.age=age; }
 */
public class Student02 {
    
    
    private String name;//定义私有化成员变量
    private int age;
    /*
    public  Student02(){
        System.out.println("这是构造方法!");
    }
     */
    public Student02(){
    
    }//这是无参的构造方法
    //以下是带参数的构造方法
    public Student02(String name){
    
    
        this.name=name;//解决成员变量和局部变量重名的问题,局部变量的name赋值给成员变量的name
    }

    public Student02(int age){
    
    
        this.age=age;
    }

    public Student02(String name,int age){
    
    
        this.name=name;
        this.age=age;
    }
    //定义一个成员方法
    //其实没有必要定义这个输出方法的,因为构造方法实例化对象之后就可以通过对象名.方法调用输出 对象名.方法.sout+enter(idea内)
    public void show(){
    
    
        System.out.println("姓名:"+name+"  年龄:"+age);
    }
}

//下为测试类代码

package Object;

public class StudentDemo02 {
    
    
    public static void main(String[] args) {
    
    
        /*如何调用构造方法
                通过new关键字调用
            格式:类名 对象名 = new 构造方法( );
         */
        Student02 s=new Student02();
        s.show();

        Student02 s1=new Student02("张三");
        s1.show();

        Student02 s2=new Student02(28);
        s2.show();

        Student02 s3=new Student02("张三",28);
        s3.show();
    }
}

猜你喜欢

转载自blog.csdn.net/m0_52646273/article/details/114030115