构造方法
一.构造方法作用
构造方法,是一种特殊的成员方法,它是一个与类同名的方法。
对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。
当类实例化一个对象时会自动调用构造方法。
构造方法和其他方法一样也可以重载。
总而言之,构造方法就是类构造对象时调用的方法,主要用来实例化对象。
二. 创建对象
类名 对象名 = new 类名();
例如: Student student1=new Student();
//创建了一个Student类型的名为student1的对象。
//Student()就是一个构造方法。
三.如何写构造方法
1.构造方法的规则
1.方法名和类名完全相同。
2.它不含返回值。(void也没有)
3.不能被static、final、abstract、native等等修饰。
4.构造方法可以重载,所以可以有参数,也可以没有参数,且四种权限符号都可以使用。
5.它的参数列表中的形参类型一定要和成员属性的参数类型匹配。
2.无参构造
public 类名()
{ }
如果我们没有写任何的构造方法,系统会默认提供一个无参的构造器。
如果我们已经写了有参构造方法,则默认的无参构造方法消失,需要自己写一个无参构造。
*
new 类名()这个被执行的时候,会在堆内存中开辟一块空间,
用来存放具体的对象,因为是无参构造,所以会给对象的成员属性赋初值,赋默认值。
3.有参构造
public 类名(参数列:int cj,String name)
{
this.变量名=变量名;
this.cj=cj;
this.name=name;
}
执行完构造方法后,对象的成员属性就会被赋值。
4.具体代码解释
public class Student//类名
{
private int cj;
private String name;
public Student( )//无参构造
{ }
public Student(int cj,String name)
//有参构造,且参数列表中的形参类型一定要和成员属性的参数类型匹配。
{
this.cj=cj;
this.name=name;
}
public void set(int cj,String name)//用于赋值的方法
{
this.cj=cj;
this.name=name;
}
public int getcj()
{
int cj=this.cj;
return cj;
}
public String getname()
{
String name=this.name;
return name;
}
}
class Test
{
public static void main(String[] args)
{
Student student1=new Student();
//用无参构造创建了student1,这个时候student1的成员属性被赋初值,赋默认值
student1.set(91,"zhang");
//调用方法给student1的成员属性赋值
Student student2=new Student(98,"li");
//用有参构造创建了student2,这个时候student2的成员属性为98,"li" 。
int cj2=student2.getcj();
String name2=student2.getname();
System.out.println(cj2);
System.out.println(name2);
}
}