java中的构造方法

来源:互联网 发布:js获取选择框的值 编辑:程序博客网 时间:2024/05/27 20:30

构造方法

java中类构造方法是一种用于创建实例时执行初始化操作的特殊方法,构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。看代码!

public class Student {     private String name; // 实例化对象时,默认值是null    private int age; // 实例化对象时,默认值是0         Student(){            System.out.println("默认构造方法");   //默认构造方法    }        public void say(){        System.out.println("我叫:"+name+",我今年:"+age);    }         public static void main(String[] args) {        Student student=new Student();        student.say();    }}

结果:

默认构造方法我叫:null,我今年:0


这里我们发现: 实例化对象的时候,String类型的默认值是null,int基本类型的默认值是0 ;

Student(){} 构造方法 的特点

   1,没有返回值类型,区别于其他一般方法;

   2,方法名和本类名一样;

我们现在可以写一个有参数的构造方法,用来初始化对象属性;

public class Student {private String name; // 实例化对象的时候,默认值是nullprivate int age; // 实例化对象的时候,默认值是0Student(){System.out.println("默认构造方法");  //默认构造方法}Student(String name,int age){            //有参数的构造方法System.out.println("调用的是有参数的构造方法");this.name=name;this.age=age;}public void say(){System.out.println("我叫:"+name+",我今年:"+age);}public static void main(String[] args) {// Student xiaoming=new Student();   Student xiaoming=new Student("小明",20);          xiaoming.say();}}

结果:

调用的是有参数的构造方法我叫:小明,我今年:20


这里我们用到了this关键字。this.name=name;这一句中,后面的那么表示需要赋值的Student的name,前面的this.name表示Student类中的成员变量(几实例化对象privateString name;中的类)。this关键字的要点这里就不提了。

注意点:

1,假如没有构造方法,系统会自动生成一个默认的无参构造方法;

2,假如有构造方法,系统不会自动生成构造方法;

假如我们单独去掉无参数的构造方法,上图:


这是编译器会自动报错。