构造方法的定义:构造方法的名称要与类名称一致,而且构造方法没有返回类型的声明
构造方法是在类之中进行的定义并且是在使用关键字new为对象实例化的时候进行的调用
对象实例化分析
类名称 对象名称 =new 类名称()
类名称:表示对像的类型
对象名称:相当于是一个变量,用于标记对象的操作
new:开辟一个新的堆内存空间
类名称():实际上这个调用的就是构造方法
说明
1.在一个类之中,如果没有明确的进行的构造方法的定义,在程序编译时会自动生成一个无参的、什么都不做的构造方法,但类之中如果已经明确定义了构造方法的话,则此默认的构造方法将不会被自动生成 即:类之中至少会提供一个无参构造方法
2.在类之中定义的构造方法,只有在使用关键字new实例化新对象的时候会被调用一次,而普通方法是在实例化对象产生后调用多次
普通方法的定义标准: public 返回值类型 方法名称()
3.构造方法允许重载,但是构造方法重载的时候只需要注意参数的类型及个数的不同即可
注:如果一个类之中定义多个构造方法,那么这多个构造方法一定注意顺序,建议按照参数的多少进行排序
定义一个无参构造方法
class Person{
public Person(){
System.out.println("这是一个构造方法");
}
}
public class TextDemo3{
public static void main(String[] args){
Person per = new Person();
}
}
有参构造方法
class Person{
public Person(String n){
System.out.println("这是一个构造方法"+n);
}
}
public class TextDemo3{
public static void main(String[] args){
Person per = new Person(",有参数的");
}
}
构造方法重载
class Person{
public Person(){
System.out.println("构造方法");
}
public Person(String n){
System.out.println("有参构造"+n);
}
public Person(String n,int a){
System.out.println(n + ":" + a);
}
}
public class TextDemo3{
public static void main(String[] args){
Person per1 = new Person();
Person per2 = new Person("构造方法");
Person per3= new Person("年龄",19);
}
}
方法重载介绍
什么是方法重载:即方法名一致,但参数的类型或个数不同以及返回类型不同
构造方法的目的:构造方法的目的就是为了创建对象