/*
构造方法:
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();
}
}
|
|