Java中类和对象

一、类和对象

1.1 类和对象的概念

        面向对象最关键的两个词汇是类与对象。万物皆对象,对象的实质是属性和行为。看看周围真实的世界,我们会发现身边有很多对象,人、车、狗、书本、业务等都是对象,所有这些对象都有自己的属性和行为。拿一个人来举例, 他的属性有:身份证号、姓名、性别、出生年月、 住址、电话等;行为有:学习、工作、购买和运动等。所以对象就是真实世界中的实体,对象与实体是一一对应的,也就是说,现实世界中每个实体都是一个对象, 它是一种具体的概念。

        类是描述一组有相同特性(属性)和相同行为(方法)的对象的集合。对象或实体所拥有的特征在类中表示时称为类的属性。例如,每个人都具有姓名、性别和年龄,这是所有人共有的特征。但是每一个对象的属性值又各不相同,例如,小张和小王都具有出生年月这个属性,但是他们的出生年月是不同的。

        对象执行的操作称为类的方法。 例如,“人”这个对象都具有的行为是“学习”,因此,“学习”就是“人”类的一个方法。

        可以说,类是描述实体的“模板”和“原型”,它定又了属于这个类的对象所应该具有的属性和行为,比如一个人在学习,一个正在学习的人是类,它定义的信息有姓名(属性)和学习(方法)。

1.2 类和对象的关系

        刚才说过,具有相同特性(属性)和行为(方法)的对象的抽象就是类。因此对象的抽象是类,类的具体化就是对象,也可以说:类的实例是对象。所以说,类是实体对象的概念模型,因此通常是笼统的、不具体的。

        类是构造面向对象程序的基本单位,是抽取了同类对象的共同属性和方法所形成的对象或实体的“模板”,而对象是现实世界中实体的描述,对象要创建才存在,有了对象才能对其进行操作。类是对象的模板,对象是类的实例。例如,动物是一个类,一只1岁的小狗、一只2岁的小猫就是对象。在软件开发中,方法操作对象内部状态的改变,实现对象的相互调用也通过方法来完成。

二、类的定义

2.1 成员变量

        根据定义变量位置的不同,可以将变量分成两大类: 成员变量(存在于堆内存中,和类一起创建)和局部变量(存在于栈内存中)。二者的运行机制存在较大差异。

        成员变量是定 义在类中、方法体之外的变量。这种变量会在创建对象的时候自动初始化。成员变量可以被类中的方法、构造方法和特定类的语句块访问。

2.2 成员方法

        在Java中,方法只能作为类的成员,称为成员方法,成员方法描述对象所具有功能或行为,是具有某种相对独立功能的程序模块,其作用主要是操作类自身属性。大多数情况下,程序的其他部分都是通过类的方法和其他类的实例进行交互的。

        成员方法根据有无返回值和有无形式参数划分为四种:无参无返回(void类型)的方法、无参有明确返回值的方法、带参无返回(void类型)的方法、带参有明确返回值的方法。

2.3 构造方法

        在Java中,对象的成员在被使用前都必须先设置初值,Java 提供了为类的成员变量赋初值的专门方法——构造方法。

        构造方法是种特殊的方法, 它是一个与类同名、没有返回值、也不需要void的方法。对象的创建通过构造方法来完成。当类实例化一个对象时会自动调用构造方法。新建对象时,都是用构造方法进行实例化的。例如:

        Test test = new Test("a");

其中,Test("a")就是构造函数,“a”为构造方法的实际参数。

        如果程序中没有定义任何构造方法,则系统会定义一个不带任何参数的构造方法,它被称为默认构造方法。

        所以,构造方法就是用来在生成实例时由系统自动调用的,程序员无法直接调用。子类继承父类后默认继承父类的构造方法,即子类存在隐含方法super(),如果子类重写构造函数则子类也隐含调用super()。

        构造方法分为两种:无参构造方法和有参构造方法。构造方法可以被重载。与一般的方法一样,构造方法可以进行任何活动,但是经常将它设计为进行各种初始化活动,比如初始化对象的属性。
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值