package Object;
/*
构造方法:
给对象的数据进行初始化
格式:(也是判断构造方法的条件)
1.方法名和类名相同
2.没有返回值类型,连void都不能写
3.没有具体的返回值
构造方法的注意事项:
A:如果我们没有给出构造方法,系统将会提供一个默认的无参构造方法供使用;
B:如果我们给出了构造方法,系统将不在提供默认的无参构造方法供我们使用。
这个时候,如果我们想使用无参构造方法,就必须自己提供。
推荐:自己给无参构造方法
C:构造方法也是可以重载的
方法重载的定义:方法名相同,参数列表不同
成员变量的赋值方法:
A:setXxx()方法
B:带参数的构造方法
例子:public Student02(String name,int age){
this.name=name;
this.age=age; }
*/
public class Student02 {
private String name;//定义私有化成员变量
private int age;
/*
public Student02(){
System.out.println("这是构造方法!");
}
*/
public Student02(){
}//这是无参的构造方法
//以下是带参数的构造方法
public Student02(String name){
this.name=name;//解决成员变量和局部变量重名的问题,局部变量的name赋值给成员变量的name
}
public Student02(int age){
this.age=age;
}
public Student02(String name,int age){
this.name=name;
this.age=age;
}
//定义一个成员方法
//其实没有必要定义这个输出方法的,因为构造方法实例化对象之后就可以通过对象名.方法调用输出 对象名.方法.sout+enter(idea内)
public void show(){
System.out.println("姓名:"+name+" 年龄:"+age);
}
}
//下为测试类代码
package Object;
public class StudentDemo02 {
public static void main(String[] args) {
/*如何调用构造方法
通过new关键字调用
格式:类名 对象名 = new 构造方法( );
*/
Student02 s=new Student02();
s.show();
Student02 s1=new Student02("张三");
s1.show();
Student02 s2=new Student02(28);
s2.show();
Student02 s3=new Student02("张三",28);
s3.show();
}
}