知道的人不如善良的人,善良的人不如快乐的人。 ——孔子 一、构造函数
构造函数(constructor):每个类都有一个默认的无参构造函数,jvm会自动给我们添加,如果我们写了构造函数,jvm不会自动为我们添加构造函数。
语法:
(参数列表){
实现主体
}
功能:执行初始化
Student s = new Student();//此时调用Student的无参构造函数;
Student s = new Student(“tony”);//此时调用Student的参数构造函数;
规则:
构造函数之间的调用:
在一个构造函数中调用另一个构造函数,使用 this 关键字。
构造函数只能在构造函数中调用,并且必须放在第一行代码中,不能在一个构造函数中调用两个以上的构造函数。
public Student(String name){}
public Student(int age,String name){
this(name);
//this:代表 当前类的对象
//this():代表当前类的构造器
}
练习代码,用手擦一遍 (=!=):
public class Student{
private String name;
private int age;
//构造方法
public Student() {
this("小张",10);
}
public Student(String name, int age){
this.name = name;
this.age = age;
System.out.println(this.name+"已经"+this.age+"岁了。");
}
public class StudentTest{
public static void main(String [] args){
//这时调用的是Student的无参数构造方法;
Student s =new Student();
//这时调用的是Student的有参数构造方法;
Student s1 =new Student("小王",9);
}
}
输出结果图片:
二、get/set() 方法
p>
get/set()方法的作用:
为了实现封装,往往将类的成员变量声明为private,然后通过public方法访问该变量。
类中的变量操作方法:
通过公共构造函数——-在对象被实例化后构造方法没有返回类型,变量被赋值。 (在上面的构造方法中已经实现了)
通过set和get方法设置和获取数据
练习代码,手动修改 (=!=):
public class Student{
private String name;
private int age;
//get/set()方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class StudentTest{
public static void main(String [] args){
Student s =new Student();
s.setName("小明");
s.setAge(8);
System.out.println(s.getName()+"今年"+s.getAge()+"岁了。");
}
}
输出结果图片:
今天的学习分享内容到此结束。本来想激励自己去学习,结果发现快乐在于分享知识!
作为一个初学者,我对Java的理解真的很浅。如有错误请指正构造方法没有返回类型,万分感谢!
请登录后发表评论
注册
社交帐号登录