八、Java基础之构造方法
/*
一、关于java类的构造方法
1.构造方法语法:
[修饰符列表]构造方法方法名(形式参数列表){
方法体;
}
2.构造方法的方法名必须和类名一致
3.构造方法的作用:
第一:创建对象
第二:初始化成员变量
4.构造方法应该如何调用:
new 构造方法名(实参);在堆中开辟空间,存储对象
5.如果一个类没有提供构造方法,系统会默认提供无参数构造方法;
如果一个类中已经手动提供了构造方法,name系统不会提供无参数构造方法
6.构造方法构成了方法重载
7.成员变量什么时候赋值?
只有在调用构造函数时候,才会给成员变量赋值
*/
public class ConstructorTest { //成员变量,实例变量,非静态变量 String name; int age; //定义构造方法 ConstructorTest(){ //System.out.println("contructor构造方法的执行!"); /* name=null; age=0; */ } ConstructorTest(int _age){ age=_age; //System.out.println("contructor a构造方法的执行!"+age); } ConstructorTest(String _name){ name=_name; //System.out.println("contructor a构造方法的执行!"+name); } ConstructorTest(int _age,String _name){ name=_name; age= _age; //System.out.println("contructor a构造方法的执行!"+name); } }
二、调用构造方法
/*
类中的内容:带有成员的要想访问,必须“引用.”;成员变量是存储在堆中的对象中
成员变量
静态方法
成员方法
构造函数
*/
/*
构造函数:构造方法,构造器,Constructor
*/
public class ConstructorTest03 { public static void main(String[] args){ //创建contructor的对象 ConstructorTest con=new ConstructorTest(); ConstructorTest cons=new ConstructorTest("lll"); ConstructorTest constr=new ConstructorTest(10); ConstructorTest constru=new ConstructorTest(10,"aaa"); System.out.println("con.age="+con.age+";"+"con.name="+con.name);//0 null System.out.println("cons.age="+cons.age+";"+"cons.name="+cons.name);//0 111 System.out.println("constr.age="+constr.age+";"+"constr.name="+constr.name);//10 null System.out.println("constru.age="+constru.age+";"+"constru.name="+constru.name);// 10 aaa } }
当有些人一出生就有的东西,我们要为之奋斗几十年才拥有。但有一样东西,你一辈子都不会有,那就是我们曾经一无所有。