构造方法(主要意义是对类中属性初始化)
构造方法的三大特征:
a.构造方法名称必须与类名称相同
【1类名称】Persion 【2对象】per1 = 【3】 new 【4 构造方法】Persion();
b.构造方法没有返回值类型声明(注意不是没有返回值)
//命名不规范的普通构造
public void Person(){
System.out.println("######");
}
//无参构造
public Person(){
System.out.println("******");
}
c.每个类中一定要至少存在一个构造方法,如果没有明确定义,系统会自动生成无参构造,若在类中自定义了构造方法,则系统不再默认生成无参构造
//1个参数的有参构造
public Person(String n){
name = n;
}
//2个参数的有参构造
public Person(String n, int num){
name = n;
age = num;
}
Person per1 = new Person();
构造方法重载:参数个数不同(参数类型已定)
类定义顺序:
1.定义属性 -> 2.定义构造方法 ->3.定义普通方法
class Person{
private String name; //定义属性
private int age = 10; //定义属性
//无参构造
public Person(){ //定义构造方法
//属性的初始化
//name = null;
//age = 10;
}
//定义普通方法
public void getPersonInfo(){
System.out.println("姓名为:"+name+",年龄为:"+age);
}
}
public class test{
public static void main(String[] args){
//根据Person类生产一个对象
Person per1 = new Person();
per1.getPersonInfo();
}
}
class Person{
private String name;
private int age;
//无参构造
public Person(){
System.out.println("******");
}
//有参构造
public Person(String n, int num){
name = n;
setage(num);
}
public void setage(int num){
if(num>0 && num<150){
age = num;
}
else{
age = 0;
}
}
public int getage(){
return age;
}
public void getPersionInfo(){
System.out.println("姓名:"+name+", 年龄:"+age);
}
}
public class test{
public static void main(String[] args){
Person per1 = new Person("gx",20);
per1.getPersionInfo();
}
}