面向对象之构造方法

构造方法:

主要用来给对象的数据进行初始化

构造方法格式:

A:构造方法格式
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值

public class Student {  
    public Student() {
        System.out.println("这是构造方法");
    }
}

测试类

public class StudentDemo {
    public static void main(String[] args) {
        //通过new关键字调用
        //格式:类名 对象名 = new 构造方法(...);
        Student s = new Student();//就是创建对象用于给对象进行初始化
    }
}

构造方法注意事项与重载

A:如果我们没有给出构造方法,系统将会提供一个默认的无参构造方法供我们使用。

B:如果我们给出了构造方法,系统将不在提供默认的无参构造方法供我们使用。这个时候,如果我们想使用无参构造方法,就必须自己提供。

推荐:自己给无参构造方法

C:构造方法也是可以重载的

public class Student {
    private String name;
    private int age;

    public Student() {}
    
    public Student(String name) {
        this.name = name;
    }
    
    public Student(int age) {
        this.age = age;
    }
    
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }

    public void show() {
        System.out.println(name+"---"+age);
    }
}

测试类

public class StudentDemo {
    public static void main(String[] args) {
        //通过new关键字调用
        //格式:类名 对象名 = new 构造方法(...);
        Student s = new Student();
        s.show();
        
        //public Student(String name)
        Student s2 = new Student("林青霞");
        s2.show();
        
        //public Student(int age)
        Student s3 = new Student(28);
        s3.show();
        
        //public Student(String name,int age)
        Student s4 = new Student("林青霞",28);
        s4.show();
    }
}

包含private,无参,有参构造的标准学生类代码:

A:类:
a:成员变量
b:构造方法
无参构造方法
带参构造方法
c:成员方法
getXxx()
setXxx()
B:给成员变量赋值的方式
a:无参构造方法+setXxx()
b:带参构造方法

public class Student {
    //成员变量
    private String name;
    private int age;
    
    //构造方法
    public Student() {}
    
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }
    
    //成员方法
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
    
    public void setAge(int age) {
        this.age = age;
    }
    
    public int getAge() {
        return age;
    }
}

测试类

public class StudentDemo {
    public static void main(String[] args) {
        //无参+setXxx()
        Student s = new  Student();
        s.setName("林青霞");
        s.setAge(28);
        System.out.println(s.getName()+"---"+s.getAge());
        
        //带参构造
        Student s2 = new Student("林青霞",28);
        System.out.println(s2.getName()+"---"+s2.getAge());
    }
}

构造函数和成员方法的区别

构造方法是初始化一个类的对象时候调用的,它没有返回值,而且名字必须与类的名字一样,而成员函数是由类对象主动调用的,使用点操作符,它有返回值

构造函数是赋予对象生命特征的,成员方法则是对象所具有的"行为,能力"

构造函数只有在建立对象时由系统调用的,其他任何时候你都别指望用他.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容