Java对象和类
1. 概念
- 对象是类的实例,具有具体的,有个性的属性和方法。
- 类是对象的模版,是一类具有相同特征对象的模版。
如:动物(Animal),是一类生物的集合。鸟,猫,狗都是动物,它们具有相同的属性如:年龄,毛色等,具有相同的动作如:吃饭,睡觉,叫等。所以它们是动物类的实例。实例是每个动物都有独有的特征如它们的都有自己的年龄(可以相同也可能不同,无所谓,只要它们有年龄就行),吃饭的动作,睡觉的动作,叫的动作都不同。这就是区别它们是什么的根据。
再如:
2. 类的构成
package day20210114.practice;
//包路径
public class Student {
private Integer id;
private String name;
private Integer age;
private String gender;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(Integer id, String name, Integer age, String gender) {
super();
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", age=" + age + ", gender=" + gender + "]";
}
}
2.1. 属性
private Integer id;
private String name;
private Integer age;
private String gender;
id,name,age,gender就是类Student的属性,每个学生都拥有这些属性。
2.2. 类中变量
一个类中可以有以下几种变量:
- 局部变量:在方法,构造方法或者语句块(for循环等)中定义的变量。局部变量的声明和初始化都在方法中,方法结束后,局部变量自动销毁。
- 成员变量:成员变量即属性。可以被类中方法,构造方法和特定类访问。
- 类变量:声明在类中,方法体之外,必须被static修饰。
2.3. 构造方法
//空参构造方法
public Student() {
super();
// TODO Auto-generated constructor stub
}
//有参构造方法
public Student(Integer id, String name, Integer age, String gender) {
super();
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
每个类都有构造方法。如果没有定义构造方法,java会默认提供一个空参(没有参数)构造方法。如上面代码中的第一个方法。构造方法在实例化对象时(new对象时)被自动调用。
构造方法应注意的问题:
- 构造方法没有返回值。
- 构造方法名与类名同名。
- 如果类中写了有参构造,必须有空参构造。
2.4. 普通方法
修饰符 数据类型 方法名([参数列表]){
方法体
[return 数据; ]
}
如:
public void setAge(Integer age) {
this.age = age;
}