在JAVA中,一切都是类,所有你要写的程序,就是在写着各种各样用途的类!
一、类就是具有一种属性的东西
比如:人、交通工具、动物、房子、食品、家用电器、植物、公司、山、地球;
总之,你可以把你知道的一切事物,都想象成类。
只有这个事物具有能用于描述其特性的属性,就是类。
比如:人,是一个类
任何一个人都具有如下属性:姓名、年龄、性别、爱好 ...... 各种你能想象出来的属性不胜列举
那么,只要具有这些属性的物体,就是“人”
所以,“人”就是一个类
再比如:交通工具,是一个类
任何一个交通工具都具有如下属性:速度、生产厂家、动力类型、可承载人数 ......
所以,对于“类”,第一个要知道的概念就是:“属性”
二、类就是可以产生各种动作的东西
比如人
动作1:打招呼
动作2:吃饭
动作3:睡觉
动作4:旅游
......
比如交通工具:
动作1:启动
动作2:停止
动作3:运行
......
三、总结
类是一个东西,包含了属性(是名称),包含了动作(是动词)
现在我们在JAVA中,创建一个类:“人”
首先创建一个文件:Person.java
package helen.study.aboutclass;
public class Person{
//以下都是属性。(是名词)
private String name;//姓名
private int age;//年龄
private String sex;//性别
private String favorite;//喜好
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return this.age;
}
public void setName(int age){
this.age = age;
}
public String getSex(){
return this.sex;
}
public void setSex(String sex){
this.sex = sex;
}
public String getFavorite(){
return this.favorite;
}
public void setFavorite(String favorite){
this.favorite = favorite;
}
//以下都动作,在JAVA里叫方法或函数。是动词
/**
* 这个方法是对别人打招呼
*/
public void sayHi(String who){
System.out.println("hello " + who + ", my name is " + this.name + ", I like " + this.favorite);
}
}
package helen.study.aboutclass;
//仅仅用于创建一个类的实例(或者叫对象),并运行起来。
public class RunClass{
public static void main(String[] arg){
//创建RunClass这个类的实例
RunClass runClass = new RunClass();
//调用它的方法。
runClass.makePerson();
}
//这也是一个方法
public void makePerson(){
//创建Person这个类的实例
Person onePerson = new Person();
//调用它的方法。
onePerson.setName("helen");
onePerson.setAge(30);
onePerson.setSex("female");
onePerson.setFavorite("missing a man, day and day.");
onePerson.sayHi("mi");
}
}
试着运行一下程序看看,体会一下类、属性、方法。
四、什么是“类的实例”(什么是对象)
上面程序的注释中,我写了一句:创建一个类的实例(或者叫对象)
对象就是把一个类创建出来,让它在程序中成为一个实际存在的变量。
对一个类,创建它的对象:
Person onePerson = new Person();
1)“Person onePerson”这是定义了一个类型为Person的变量:onePerson
2)“new Person()”这就是创建了Person这个类的对象。使用new这个关键字。
通过这种方式,我们可以为Person这个类,创建各种对象,每个对象拥有自己的属性!
仔细琢磨一下,什么叫每个对象拥有自己的属性。
》》》》》》》》下一课的内容:
1)this是什么意思
2)类的构造函数和属性的访问
3)类的成员变量
4)类的访问控制(private, public)
5)类的继承、方法的重载