类和对象概念
要想了解类和对象,首先了解两个名词:面向过程和面向对象。
面向过程:着重的是过程,在整个过程中所涉及的每个行为步骤,就是功能。
面向对象:着重的是对象,也就是参与过程所涉及到的主体。
举个例子:对于洗衣服这个过程来说。
用面向过程来看:脱衣服—找个盆—加水—揉一揉—加洗衣液—冲洗—拧干—晾晒
用面向对象来看:脱衣服—放到洗衣机—加水—拿出晾晒
那么对于类和对象:
类是一组相关属性和行为的数据的集合。也可以当作是一个模板。
对象是一种类的实体。
好比:类就是一个手机的设计图,工厂中的每一个手机都可以看作对象。
又比如:一条叫做“小哈”的金毛狗。它就可以看作是“狗”这个类的一个对象。它具有名字、品种的属性,也有叫、坐、睡觉的行为。
类的创建
一个类可以包含以下类型变量:
成员变量(全局变量):成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。
不同点 | 成员变量 | 局部变量 |
---|---|---|
定义的位置 | 类中,方法外 | 在方法的内部 |
作用范围 | 整个类 | 方法里面 |
默认值 | 有默认值 | 无默认值,需要手动赋值 |
class Student {
public int age;//成员变量 实例变量
public String name;
public String sex;
public void eat() {//成员方法
int breakfast;//局部变量
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}
构造方法
每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。
对象的创建(类的实例化)
用类类型创建对象的过程,称为类的实例化。
对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
声明:声明一个对象,包括对象名称和对象类型。
实例化:使用关键字 new 来创建一个对象。
初始化:使用 new 创建对象时,会调用构造方法初始化对象。
public class Main{
public static void main(String[] args) {
Person person = new Person();//通过new实例化对象
person.eat();//成员方法调用需要通过对象的引用调用
person.sleep();
访问对象中的变量和方法:
访问对象中的变量:对象名.变量;
访问对象中的方法:对象名.方法(参数);
/* 实例化对象 */
Object referenceVariable = new Constructor();
/* 访问类中的变量 */
referenceVariable.variableName;
/* 访问类中的方法 */
referenceVariable.methodName();