当前位置 博文首页 > chenchw的博客:构造器/构造方法(constructor)
1、构造器的语法?
?
?构造器他的主要作用是对新对象的初始化。
(1)方法名要和类的名字一样
(2)没有返回值
(3)在创建对象的 时候,系统会自动调用该类对象的构造器完成对对象的初始化。
?
import java.util.Scanner;
public class Change{
public static void main(String[] args){
Persion p1 = new Persion("milan",18);//直接付初始值
System.out.println(p1.name + " " + p1.age );
}
}
class Persion{
String name;
int age ;
// 写一个构造器
// 构造器没有返回值,也没有void
// 名字就是类的名字
// 形参列表个原来一样。
public Persion(String pName,int pAge){
// 完成初始化,完成对象的属性初始化
System.out.println("我被调用啦");
name = pName;
age = pAge;
}
}
注意事项:?
?
import java.util.Scanner;
public class Change{
public static void main(String[] args){
Persion p1 = new Persion("milan",18);//直接付初始值
System.out.println(p1.name + " " + p1.age );
Persion p2 = new Persion("xusiming");
System.out.println(p2.name);
}
}
class Persion{
String name;
int age ;
// 写一个构造器
// 构造器没有返回值,也没有void
// 名字就是类的名字
// 形参列表个原来一样。
// 构造器也能进行重载
public Persion(String pName,int pAge){
// 完成初始化,完成对象的属性初始化
System.out.println("我被调用啦");
name = pName;
age = pAge;
}
// 第二个构造器,只指定人名,并不指定年龄
public Persion(String pName){
name = pName;
}
}
一旦定义了构造器,默认的构造器就被覆盖了。就不能默认使用无参构造器。
也就是说定义了个构造器之后,我就必须在定义对象的时候就开始赋初始值。
class就是一个类,类里面可以有构造器,属性、方法,属性变量的使用范围是在整个类里面的,但是在方法里面定义变量就只能在方法内使用,属性中的变量是有初始值的,在方法内可以直接使用。构造器也是有一个默认的,若是写了构造器的话,新建立一个对象的时候就必须提前给一个初始值。也可以有无参数构造器的。另外的话就是方法的定义,有无返回值,需要考虑那几个因素。都是需要考虑的。比较乱。(自己瞎编的)
import java.util.Scanner;
public class Change{
public static void main(String[] args){
Persion p1 = new Persion("milan",56);//直接付初始值
System.out.println(p1.name + " " + p1.age );
Persion p2 = new Persion();
System.out.println(p2.age);
}
}
class Persion{
String name;
int age ;
// 写一个构造器
// 构造器没有返回值,也没有void
// 名字就是类的名字
// 形参列表个原来一样。
// 构造器也能进行重载
public Persion(String pName,int pAge){
// 完成初始化,完成对象的属性初始化
System.out.println("我被调用啦");
name = pName;
age = pAge;
}
// 第二个构造器,只指定人名,并不指定年龄
public Persion(){
// 无参构造器
age= 18;
}
}
cs