| 
 
| /* 构造方法:
 
 1.构造方法,就是当实例化一个对象时,会调用的一个方法;
 2.我们之前没有写过构造方法,系统给我自动添加一个什么都不做的构造方法;
 3.构造方法的写法:
 [访问修饰符] 构造方法名([形参列表]){
 }
 
 注意:
 1.访问修饰符,我们现在先不写;
 2.不可以指定"返回值类型"甚至是void;
 3.构造方法名要跟类名完全相同,大小写要一致;
 4.形参列表:可以没有。如果有,跟方法的形参列表定义一样;
 4.构造方法是在每次"实例化此类对象时"被调用一次,之后将不会再次被调用;
 5.构造方法的作用:
 1).由于它是在实例化此类对象时被调用,所以一般做一些初始化的工作。
 例如:初始化成员变量;
 6.构造方法可以没有,系统会自动添加一个什么都不做的构造方法;
 构造方法也可以有一个,那么意味着此时构造此类的对象只能通过这一种方式;
 构造方法可以有多个,那么意味着可以有多重方式去构造此类对象。这叫:构造方法的重载。方法名一样,参数列表不完全相同;
 7.如果我们编写了构造方法,那么系统将不会再添加默认的构造方法;
 8.尤其注意:如果一个类,只有一个构造方法,而且需要参数,那么,实例化此类的对象时,就必须拿着参数调用这个构造方法,别无他途。
 */
 class Student
 {
 String stuName;
 int age;
 Student(){
 System.out.println("你实例化了一个Student对象");
 stuName = "[匿名]";
 age = 18;
 }
 //重载构造方法。带两个参数的构造方法
 Student(String s , int a){
 stuName = s;
 age = a;
 }
 Student(String stuName){
 this.stuName = stuName;
 }
 Student(int age){
 this.age = age;
 }
 void show(){
 System.out.println("大家好,我叫:" + stuName + ",我今年:" + age);
 }
 }
 class Demo
 {
 public static void main(String[] args)
 {
 Student stu = new Student();
 stu.stuName = "刘德华";
 stu.age = 20;
 //        stu.show();
 
 Student stu2 = new Student("刘德华",25);//一步:构造,并为属性赋值
 stu2.show();
 
 
 
 
 
 
 
 }
 }
 
 
 
 | 
 |