class Practise_Student {
public static void main(String[] args) {
Student s1 = new Student();//无参构造创建对象s1
s1.show();//验证无参构造赋值是否成功
System.out.println("-----------------");
//s1.name = "李四"; //直接给变量赋值的话可以用"=",调用方法的话必须是在括号中
s1.setName("张三");//只能通过set方法赋值,因为成员变量都被private修饰了
s1.setAge (24);
s1.show();
System.out.println("-----------------");
Student s2 = new Student("王五",25);
s2.show();
}
}
/*
学生类:
* 成员变量:
* name,age
* 构造方法:
* 无参,带两个参
* 成员方法:
* getXxx()/setXxx()
* show():输出该类的所有成员变量值
*/
/*
无参构造与有参构造,如果在类中没有构造方法的话,系统默认有一个无参构造,如果只有有参构造的话,那么
在创建对象的时候必须给变量赋值
*/
class Student {
private String name;//private 是私有的意思,它的作用是使成员变量或成员方法只能在本类中访问
private int age;
public Student() { //构造方法是修饰符直接加上类名,它的作用是为成员变量的值初始化,且是没有返回值的
}
public Student(String name,int age) {
//构造方法也是方法,所以一可以重载,即只需方法名相同参数不同即可
this.name = name; //this的作用是区分同名,哪个对象调用了this所在的函数,this就代表这个对像
this.age = age;
}
public void setName(String name) { //设置姓名,不需要返回值,只是完成一个赋值的动作
this.name = name;
}
public String getName() { //获取姓名,需要返回值
return name;
}
public void setAge(int age) { //设置年龄
this.age = age;
}
public int getAge() { //获取年龄
return age;
}
public void show() { //输出一句话
System.out.println("姓名:" + name + ", 年龄:" + age);
}
}
/*
(初始化其实就是完成了一次赋值)
构造赋值与set方法赋值的区别:
构造赋值是在对象创建的时候完成的,所以构造赋值是不能对原有对象的值进行修改的,每用构造赋值的话就是
重新创建了一个对象,而set方法赋值是对原对象成员变量的值进行修改
*/ |
|