Java对象和类

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;
	}
posted @ 2021-01-16 15:32  0黄新0  阅读(37)  评论(0编辑  收藏  举报