当前位置 博文首页 > chenchw的博客:构造器/构造方法(constructor)

    chenchw的博客:构造器/构造方法(constructor)

    作者:[db:作者] 时间:2021-07-20 12:41

    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
    下一篇:没有了