在生活中,说到类,可以联想到类别,同类,会想到一类人,一类事物等等。而这一类人或事物都是具有相同特征或特点和行为的,我们根据不同的特征或特点和行为将他们归类或分类。同时,当我们认识一个新事物的时候,我们一般来说是从过往的事物中总结事物的特点(特征),并比对新事物,把新事物进行归类,以达到认识新事物。在Java中,类是对一组具有相同特征和行为的对象的抽象描述。可以看出和生活中对类的定义很像。在Java程序中,我们将其相同的特征称为属性,行为则称为方法(函数)。
Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念。
综上所述,看看周围真实的世界,会发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。拿一条狗来举例,它的状态有:名字、品种、颜色,行为有:叫、摇尾巴和跑。
对比现实对象和软件对象,它们之间十分相似。软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。
public class Admin {
}
示例说明:
对象是类的一个实例,创建对象的过程也叫类的实例化。对象是以类为模板来创建的。
在Java中,使用new关键字来创建对象,一般有以下三个步骤:
代码示例:
Admin admin=new Admin();
1、类属性的定义
类的属性,是用来描述这一类的相关信息,例如管理员是一类人的总称,那么管理员就有自己的属性,大概包括姓名,年龄,用户名,密码等。定义类的属性通过声明变量的形式来完成。每个属性都有它对应的访问修饰符、数据类型、变量名。
代码示例:
public class Admin {
public String name;
public int age;
public String loginName;
public String password;
}
ps:定义类的属性可以不为变量赋初始化值,属性的初始值会在类对象被实例化时进行赋值。
2、类属性的分类:
3、this关键字
当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。在本类中,方法内可以通过this访问累的非静态变量和方法。
1、类方法的定义
Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可。
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
代码示例:
public static void main(String[] args) {
}
2、特殊的方法----构造方法
在类实例化的过程中自动执行的方法叫做构造方法,它不需要你手动调用。构造方法可以在类实例化的过程中做一些初始化的工作。
代码示例:
public Admin() {
}
public Admin(String name,int age,String loginName,String password) {
this.name=name;
this.age=age;
this.loginName=loginName;
this.password=password;
}
构造方法注意事项:
3、特殊的方法----静态方法
有时你希望定义一个类的方法,使它的使用完全独立于该类的任何对象。通常情况下,类方法必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在方法的声明前面加上关键字static(静态的)就能创建这样的方法,就是静态方法。我们常用的静态方法就是main方法。
代码示例:
public static void ageAdd() {
System.out.println("年龄随着自然年增长");
}
注意事项:
4、方法的使用
类对象实例化后,可以通过调用方式进行使用方法。
代码示例:
Admin admin=new Admin();
admin.ageAdd();
方法被调用后,会执行方法中的代码,从而实现代码的复用。
5、方法的重载
如果一个类中有多个具有相同名称但参数不同的方法,则称为方法重载。如果只需要执行一个操作,具有相同的方法名称将增加程序的可读性。
方法重载的特点:
代码示例:
public void ageAdd() {
System.out.println("年龄随着自然年增长");
}
public int ageAdd(int year) {
System.out.println("年龄随着自然年增长");
return this.age+=year;
}
总结:类是最基本的面向对象的呈现,通过类的属性和方法,来定义某一类事物的总称,有了类的概念,就可以是我们更清晰的理解计算机,更清晰的理解编程。