Java类和对象概念&实例讲解
Java的类和对象包括以下基本的概念:
对象:类的一个具体实例,包括了状态、行为,状态通过对象的属性体现,行为通过对象的方法体现;
类:构造对象的模板,是对对象的抽象理解,描述了某一类对象的状态和行为;
对象的状态:每一个对象都保存着描述当前特征的信息,这些特征信息即为对象的状态;
对象的行为:操作对象的方法;
对象的创建:一般通过关键字new创建对象;
变量:对象的属性即为变量,变量类型分为局部变量、成员变量和类变量;
例如:人类是对所有单个人的特性的抽象集合,人类即为类,每一个单一的人即为对象,每一个人都有自己的状态和行为,状态包括:名字,年龄,身高,性别等,这些状态为人类的属性,在java中即为对象的变量,行为包括睡觉、吃饭、学习等,总而言之,类是对象的抽象理解,对象是类的具体体现,对象通过对象的属性和方法体现对象的状态和行为。
局部变量:在一般方法、构造方法和语句块中定义的变量称为局部变量,局部变量的定义和初始化仅限于当前方法中,方法结束,变量同时销毁,不可在其他方法中调用使用,不支持对象和类调用;
成员变量:定义于类中,方法体之外的变量,变量在创建时会实例化,仅支持由对象调用,可以被同一类中的一般方法、构造方法使用,局部变量是对象的特有数据
类变量:定义于类中,方法体之外的变量,但是其声明需为static类型,也称为静态变量,由static修饰,仅当类消失而消失,可由对象和类调用,类变量是类的特有数据;
构造方法:用于定义对象的初始化状态,java类都会有至少一个以上的构造方法,若无,系统会自动创建一个不带参数的构造方法(缺省的构造方法);
变量的访问:
ObjectReference.variableName;
类中方法的访问:
ObjectReference.MethodName()
实例讲解:
public class Human { int age; // age、gender均为Human类中对象的属性, 为成员变量 String name; String gender; public static void main(String[] args){ //一个类只能有一个main函数 Human human = new Human("Downey", "Man"); //创建一个human对象, human.sleeping(); //实例.方法()访问成员方法(sleeping方法) human.indentifyGender(); human.ageSet(25); System.out.printf("age:%d", human.age); // 实例.变量名访问成员变量 } public Human(String n, String g){ // 包含两个参数的构造方法(特殊的方法),构造方法不返回值 name = n; gender = g; } public void sleeping(){ //sleeping方法( int sleepHour = 5; // 局部变量sleepHour System.out.println( name + " is sleeping, sleep time is" + sleepHour); } public void indentifyGender(){ // indentifyGender方法 System.out.println( name + " is " + gender); } public void ageSet(int setAge){ // ageSet方法 age = setAge; System.out.println(name + " is " + age); } }
一个类可以包含多个方法,上述代码中Human类包含一个构造方法Human,3个一般方法:sleeping、indentifyGender和indentiyfAge,一个main函数。在一个类中,main函数只能有1个,构造方法和一般方法可以有多个,构造方法和其他一般方法的最大的区别在于:构造方法的方法名必须和类名一致,一般方法可以自定义方法名;