当前位置 博文首页 > 哪些年那些事:java初学者必看之构造方法详细解读

    哪些年那些事:java初学者必看之构造方法详细解读

    作者:哪些年那些事 时间:2021-02-18 22:32

    java初学者必看之构造方法详细解读

    构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。

    格式

    public 类名称(参数类型 参数名称){
    方法体
    }
    

    注意事项:

    1.构造方法的名称必须和所在类名称完全一样,就连大小写也一样。
    2. 构造方法不要写返回值类型,连void都不写。【示例代码如下】

    package com.example.app06;
    //编写构造方法
    public class Student {
    public Student(){
    System.out.println("构造方法执行啦!");
    }
    }
    
    package com.example.app06;
    //调用构造方法
    public class Demo02Student {
    public static void main(String[] args) {
    Student stu=new Student();
    }
    }
    

    运行结果为:构造方法执行啦!

    (注意事项接第2点)

    1. 造方法不能return一个具体的返回值。
    2. .如果没有编写构造方法,那么编译器将会赠送一个构造方法,没有参数、方法体什么都不做。
    3. 一旦编写了至少一个构造方法,那么编译器将不再赠送。
    4. 构造方法也是可以进行重载的:方法名称相同、参数列表不同。
    package com.example.app06;
    //编写构造方法
    public class Student {
    private String name;
    private int age;
    public Student(){
    System.out.println("无参构造方法执行啦!");
    }
    public Student(String name,int age){
    System.out.println("全参/有参构造方法执行啦!");
    this.age=age;
    this.name=name;
    }
    }
    
    package com.example.app06;
    //调用构造方法
    public class Demo02Student {
    public static void main(String[] args) {
    Student s=new Student();
    System.out.println("=============");
    Student stu=new Student("碧瑶",18);
    }
    }
    

    要获取或者改变对象的值,仍然需要Setter/Getter方法。

    public class Student {//编写含getter和setter 的构造方法
    private String name;
    private int age;
    public Student(){
    System.out.println("无参构造方法执行啦!");
    }
    public Student(String name,int age){
    System.out.println("全参/有参构造方法执行啦!");
    this.age=age;
    this.name=name;
    }
    
    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;
    }
    }
    
    package com.example.app06;
    //调用构造方法
    public class Demo02Student {
    public static void main(String[] args) {
    Student s=new Student();
    System.out.println("=============");
    Student stu=new Student("碧瑶",18);
    System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge());
    //如果需要改变成员变量的数据内容,仍然需要使用setXXX方法,例如碧瑶长大了
    }
    }
    http://www.dtmao.cc/news_show_715224.shtml
    bk
    下一篇:没有了