目录
课前先导:
一、new关键字
二、构造方法
1、语法格式
2、构造方法的用法
3、代码演示
三、在MyEclipse中快捷创建get/set方法
四、在MyEclipse中快捷创建构造方法
课前先导:
今天我们来解读一下创建对象的语句,以及看一下在MyEclipse中快速构建get()/set()方法和构造方法
一、new关键字
我们先来看一个属性类
public class Animal {
private String name; //姓名
private char sex; // 性别
private int age; // 年龄
//get()/set()方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
这个时候我们的程序是不能加载的,程序没main方法他就不能加载执行,这个时候内存并没有给这些属性分配空间 ,我们想用这些变量就得在内存中加载这些变量
英文单词: new 新的
我们想要程序加载运行就要有main方法,所以在其他的类中想加载属性类,加载语句就必须写在main方法中
new关键字的作用:
创建一个新的实例,或者说一个新的对象
一个普通类中的属性和方法,在没有实例化之前内存是不存在的
我们创建一个测试类,在测试类里面创建一个对象,看看是不是把属性类里的属性在内存中加载了
通过运行结果可以看到属性确实在内存中被加载了,因为我们没有给属性赋值,所以输出的是默认值
那么,new后面的是什么呢?我们继续来看构造方法
二、构造方法
new后面的是一个方法。我们之前讲过方法必须定义后才能使用,而这里我们并没有定义这个方法,却能够直接使用,是因为
在Java语言中,每个类都有个默认的无参构造方法
1、语法格式
构造方法是用来初始化数据的,没有返回值,方法名和类名相同;访问权限修饰符我们一般用public
public 方法名(参数列表){
//方法体代码
}
-->构造方法没有返回值,void也不写
-->默认构造方法没有参数,因此参数列表可选
-->构造方法的方法名与类名相同
2、构造方法的用法
(1)构造方法的主要作用是进行一些数据的初始化;
(2)当开发人员没有编写自定义构造方法时,Java会自动添加默认构造方法,默认构造方法没有参数;
(3)当开发人员编写了自定义了有参的构造方法时,默认无参构造方法会被覆盖。若要使用无参构造方法,需要在类中手动添加无参构造方法。
3、代码演示
创建有参构造方法,并传参运行
public class Animal {
private String name; //姓名
private char sex; // 性别
private int age; // 年龄
//有参构造方法
public Animal(String name, char sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
//get()/set()方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
通过运行结果可以看到,运用有参构造方法,我们不需要通过对象给属性一个个赋值了
我们再创建个对象,不给它传参看看
报错了,因为
当开发人员编写了自定义了有参的构造方法时,默认无参构造方法会被覆盖。若要使用无参构造方法,需要在类中手动添加无参构造方法。
我们在普通类中再手动创建个无参构造方法
public class Animal {
private String name; //姓名
private char sex; // 性别
private int age; // 年龄
//有参构造方法
public Animal(String name, char sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
//无参构造方法
public Animal() {
}
//get()/set()方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
三、在MyEclipse中快捷创建get/set方法
1、右击代码编辑区--->Source--->Generate Getters and Setters
2、选择要创建get()/set()方法的属性--->OK
四、在MyEclipse中快捷创建构造方法
1、右击代码编辑区--->Source--->Generate Constructor using Fields
2、选择属性创建有参构造方法,或什么都不选,创建无参构造方法--->OK
今天的内容很少,大家可以梳理一下前面学过的方法和封装,以后我们的普通来就按这个标准来。
好了,今天的学习就到此结束了,我是一米八、有腹肌、低于半小时你报警的Loveletter,觉得内容不错的小伙伴可以点点关注,我们下篇博文见,再见!