在我们视野所及的地方,每个物体都是个对象。比如电脑,鼠标,学生,水杯,手机,甚至于游戏中的英雄。正如世界上没有两片相同的叶子一样,世界上的每个事物的特征与行为都是不同的,相对应就是每个对象的属性(特征)与方法(行为)是不同的。就以学生举个例子:
学生a
学生的属性 :姓名 年龄 身高
学生的方法: 学习 睡觉 锻炼
我们就可以写出程序:
public class Student {
public static String name;
public static int age;
public static int height;
public static void study(){
System.out.println(name+"喜欢学习");
}
public static void sleep(){
System.out.println(name+"睡觉");
}
public static void main(String[] args){
Student.name="a";
Student.age=20;
Student.height=177;
study();
sleep();
}
}
学生b:
学生的属性 :姓名 年龄 身高
学生的方法: 学习 睡觉 锻炼
我们就可以写出程序:
public class Student {
public static String name;
public static int age;
public static int height;
public static void study(){
System.out.println(name+"喜欢学习");
}
public static void sleep(){
System.out.println(name+"睡觉");
}
public static void main(String[] args){
Student.name="b";
Student.age=20;
Student.height=177;
study();
sleep();
}
}
学生c 、学生d.....如果班上有30位学生,那么我们就要把代码写30遍,可是我们可以发,作为学生,他们都有共同的属性和方法,那么我们们是不是可以把这些具有共同的属性和方法去作为一类,然后分别给他们的属性和方赋值去确定一个对象?
可以编写程序试一下,
public class StudentClass {
public static String name;
public static int age;
public static int height;
public static void study(){
System.out.println(name+"喜欢学习");
}
public static void sleep(){
System.out.println(name+"睡觉");
}
public static void main(String[] args){
StudentClass a = new StudentClass();
a.name="a";
a.age=20;
a.height=177;
a.study();
a.sleep();
StudentClass b = new StudentClass();
b.name="b";
b.age=20;
b.height=178;
b.study();
b.sleep();
}
}
运行的结果和上面分开定义是一样子,这样我们就可以把学生作为一个大类,然后去给属性和方法赋值去确定每一个对象。