赞
踩
这是创建一个对象
Student s1 =new Student();
重点看new后边的Student()
我们常常根据一个东西的命名规则来判断他是一个什么,比如单词首字母大写,其他全小写,例如Student,StudentDemo这种一般是类名
比如一个东西后边跟了一个小括号,那么他其实就是一个方法,
而Student()这个方法比较特殊,他的名字是一个类名,这种方法我们就把他称为构造方法。
没有给参数,这样就是一个无参构造方法
主要是完成对象数据的初始化
代码:
Student类:
public class Student {
private String name;
private int age;
public Student() {
System.out.println("无参构造方法");
}
}
测试类:
public class StudentDemo {
public static void main(String[] args){
Student s=new Student();
}
}
输出:
无参构造方法
我们调用方法没有传参他就会自动调用无参构造方法
我们在很多时候比如创建对象时
Student s=new Student();
我们在Student中没有创建无参构造方法,但是还是可以正常编码运行
这是因为当我们没有写一个无参构造方法时,用的是系统自带的默认的无参构造方法
重点:
一旦给出了构造方法,再想使用无参构造方法,系统将不会自动提供无参的默认方法,需要自己构造一个无参构造方法
代码演示:
Student类:
public class Student { private String name; private int age; public Student() { System.out.println("无参构造方法"); } 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="+name+","+"age="+age); } }
测试类:
public class StudentDemo {
public static void main(String[] args){
Student s=new Student();
Student s1=new Student("宇智波萨斯给");
Student s2=new Student(11);
Student s3=new Student("鸣人",20);
s.show();
s1.show();
s2.show();
s3.show();
}
}
输出:
无参构造方法
name=null,age=0
name=宇智波萨斯给,age=0
name=null,age=11
name=鸣人,age=20
创建对象时候会根据传的参数来调用相应的构造方法
并且构造方法还可以给成员变量传参
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。