基于JAVA的对象浅析(一)
想了解对象(object)是什么,最好先明白类(class)是什么
1.class: 类是一个模板,它描述一类对象的行为和动态。比如说,人,人就具有属性,如姓名,性别,年龄,种族,身高,体重等。
可以简单描述为:
public class Man {
String name;
String sex;
int age;
String race;
int height;
int weight;
}
人,又具有行为,比如吃喝玩等。
可以简单描述为:
public class Man{
void eat() {};
void drink() {};
void play() {};
}
那么人定义为一个简单类就可以是:
public class Man {
String name;
String sex;
int age;
String race;
int height;
int weight;
void eat() {};
void drink() {};
void play() {};
}
2.有了类之后,我们怎么去使用这些属性呢?
那就是创建一个对象,直接去实例化(带参构造函数),或者通过对象调用get、set来实现属性(姓名,性别,年龄,种族,身高,体重)的操作,也可以使用对象来调用方法(吃喝玩)。
此时简单类描述为:
public class Man {
//属性
Private String name;
Private String sex;
int age;
String race;
int height;
int weight;
//无参构造方法
public Man() {
super();
}
//带参构造方法
public Man(String name, String sex, int age, String race, int height, int weight) {
super();
this.name = name;
this.sex = sex;
this.age = age;
this.race = race;
this.height = height;
this.weight = weight;
}
//get、set方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getRace() {
return race;
}
public void setRace(String race) {
this.race = race;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
//行为,吃喝玩
void eat() {};
void drink() {};
void play() {};
}
比如说:现在要创建一个名为张三,性别为男,33岁,中国人,身高175,体重125的人。
那么我们写一个主函数:
public static void main(String[] args) {
//使用构造方法直接创建一个张三,此时已经拥有属性,并赋予了值,而张三就是人的一个对象
Man obj=new Man("张三", "男", 33, "中国人", 175, 125);
obj.drink();
}
我们再创建一个对象:
//使用无参构造函数创建一个实例(李四),此时实例仅仅是一个对象,具有人的属性,但没有值,也就是说有了篮子,但篮子里面没有鸡蛋
Man obj2=new Man();
//现在就把鸡蛋放进篮子里面
obj2.setName("李四");
obj2.setRace("日本人");
到了这里,应该很容易理解对象的含义了。
可以这么理解,对象就是一个符号,这个符号代表某类事物的一个具体的东西,比如人,那么人的对象可以是一个具体的张三(人),同时这个符号拥有人的一些属性,行为。这个符号可以操作人的属性,行为。
主函数代码:
public static void main(String[] args) {
//使用构造方法直接创建一个张三,此时已经拥有属性,并赋予了值,而张三就是人的一个对象
Man obj=new Man("张三", "男", 33, "中国人", 175, 125);
obj.drink();
System.out.println(obj.getName()+"\t"+obj.getRace());
//使用无参构造函数创建一个实例(李四),此时实例仅仅是一个对象,具有人的属性,但没有值,也就是说有了篮子,但篮子里面没有鸡蛋
Man obj2=new Man();
//现在就把鸡蛋放进篮子里面
obj2.setName("李四");
obj2.setRace("日本人");
System.out.println(obj2.getName()+"\t"+obj2.getRace());
}