Live2D
复制代码

03-类的构造方法

构造方法(构造函数、构造器)

/*
 * 关于Java类的构造函数
 *             
 *        1.构造方法语法:
 *          [修饰符列表] 构造方法名(形式参数列表){
 *             方法体;
 *          }
 *          
 *        2.构造方法的方法名必须与类名一致
 *        
 *        3.构造方法的作用:
 *           (1).创建对象
 *           (2).给成员变量赋值(初始化成员变量)
 *           
 *        4.构造方法应该如何调用
 *        new 构造方法名(实参);//在堆中开辟空间存储对象
 *        
 *        5.当类中没有写任何构造方法时,系统会默认提供一个无参的构造方法
 *        如果已经手动的提供了构造方法,系统不会在提供任何构造方法
 *        
 *        6.成员变量到底什么时候赋值
 *        只有在调用构造方法时,才会给成员变量赋值
 */
package d构造方法;

public class User {
	
	//属性  实例变量  非静态变量 成员变量
	//Feild
	String name;
	int age;
	
	//构造方法 Constructor(以下构造方法构成了方法重载)
	public User(){//构造方法没有返回值
		/*
		 * 此处构造方法没有参数,但此处有隐形语句
		 * name=null;
		 * age=0;   即在构造方法被调用时系统默认赋值
		 */
	}
	     User(String _name){//public可以省略
	    	 name=_name;//默认赋值age=0;
	    	             //加_name是为了区分成员变量与局部变量
	    	            //在调用构造方法时让人更容易看懂将值赋给成员变量
	     }
	     
	     User(int _age){
	    	 age=_age;//默认赋值name=null;
	     }
	     
	     User(int _age,String _name){
	    	 age=_age;
	    	 name=_name;
	     }

}

package d构造方法;

public class Test01 {
	
	public static void main(String[] args){
		
		//创建User类型的对象
		User i1 = new User();
		User i2 = new User("陈圆圆");
		User i3 = new User(28);
		User i4 = new User(28,"陈圆圆");
		
		System.out.println(i1.name);//null
		System.out.println(i1.age);//0
		
		System.out.println(i2.name);//陈圆圆
		System.out.println(i2.age);//0
		
		System.out.println(i3.name);//null
		System.out.println(i3.age);//28
		
		System.out.println(i4.name);//陈圆圆
		System.out.println(i4.age);//28
	}

}

posted @ 2021-07-22 22:10  Milen-jie  阅读(81)  评论(0编辑  收藏  举报