八、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


    }
}

猜你喜欢

转载自www.cnblogs.com/chushujin/p/10048484.html
今日推荐