Java中的类和对象

什么是对象?

在生活中,一个能够看得见的,摸得着的东西都可以称之为对象,一个对象拥有自己的属性(特征),方法(行为,功能);

例如,一台电视机,它的属性就有:颜色、型号、品牌、售价等等,它的方法有:播放电影、播放电视剧等等。这里注意说的是”一台“,或许另一台电视机的颜色与这个不同,那么这两台电视机就是两个不i同的对象。

什么是类?

讲具有相同属性和方法的对象进行抽象,就是类;

类可以理解为一类,具有相同属性和方法的对象就可以成为一类,也可以说类就是模板,对象就是成品。常见的各种汽车,就可以称之为汽车类;

什么是面向对象编程?

面向对象编程(面向对象程序设计),英文名:Object-Oriented Programming,缩写:OOP。

这是一种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码和方法。对象指的是类的实例。OPP将对象作为程序的基本单元,将程序和数据封装到对象中,目的在于提高软件的重用性、灵活性和拓展性。对象里的程序可以访问及经常修改对象相关联的数据。在OOP里,计算机程序会被设计成彼此相关的对象。

面向对象与面向过程编程:

但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性,面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并且可以被重复利用,增强可维护性,所以,面向对象的开发更像是一个具备标准的开发模式。

eg:

吃饱肚子

面向过程:针对开发过程中遇到的每一个问题,进行单个编码解决

自己买菜、洗菜、炒菜、自己吃饱;

面向对象:只对结果,不管实现细节;

到饭店点餐,自己吃饱

学习面向对象其实就是学习如何在代码中使用封装、继承、多态;

在面向对象定义之中,也规定了一些基本的特征:

(1)封装:保护内部的操作不被破坏; 安全性

(2)继承:在原本的基础之上继续进行扩充; 复用性

(3)多态:在一个指定的范围之内进行概念的转换。可扩展性

对于面向对象的开发来讲也分为三个过程:

OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。

总结:面向对象最终的目的是在保证功能实现的基础上,方便后期程序的维护。

如何使用类和对象?

类的结构为:

public class 类名{

        成员属性1;

        成员属性2;

        。

        。

        。

        构造方法();

        成员方法()1;

        成员方法()2;

        。

        。

}

在使用对象前需要进行类的构造:具体实现例子如下:

首先进行类的构建:

然后在测试类的main函数中进行对象的构建:

对象的构建语法为:

类名 变量名 = new 类名();

至此,我们Person类的pes1、pes2对象实例就构建完成了。

在类中有一个重要的概念称为构造方法。

构造方法:就是在创建对象时,通过new关键字调用的为对象属性赋值的一种特殊函数;

构造方法的语法为:

public 类名(参数列表){

初始属性

}

构造方法的特征:

1,构造方法是一种特殊的方法,其方法名要求与类名完全相同。

2,构造方法不能有返回值。

3,构造方法通过new关键字调用。

4,在一个类中,系统会默认提供一个无参构造方法。若无其他需求则不需要额外定义无参构造器。如果需要为对象赋初值,则可以选择主动定义含参构造器。在定义了其他构造器之后,系统将不会再提供默认的无参构造器。

5,一个类中可以同时存在多个构造器。同一个类中的构造器,在进行使用时,系统会对所传入的数据的个数和数据的类型自动进行构造器的选择。

例如:

这里在同一个Person类中定义了四个不同的构造方法

 这里传入不同的参数来使用四种不同的构造方法;

这里需要注意的是,调用构造方法时,需要传入的值的顺序,要与定义构造方法时的形参的顺序一致,否则将会报错,或者数据传输有误。

 在类中,除了构造方法,还有成员方法又称实例方法;

   成员方法的语法为:

[访问修饰符] 返回值类型  方法名([参数列表]){

    方法体

    return 返回值;

}

注意:

[访问修饰符] : 中括号在语法描述上表示这个部分可以省略

        访问修饰符,表示定义的方法能够被访问的一个范围 。

        属性/方法的访问修饰符: 总共有四个级别 public,protected,默认,private

返回值类型: 这个必须要有,即使是该方法(函数)不需要返回值;

        取值:

​         void: 表示这个方法不需要返回结果

        其他任何类型(基本类型/引用类型) : 表示方法必须要有返回值,而且返回值的类型要和定义的类型一致

方法名: 自己定义,按照标识符的规则(字母,数字下划线),要按照小驼峰命名

参数列表:可以省略,省略的时候表示这个方法不需要参数。如果有参数,那么在调用方法是必须要按照参数列表的定义传递参数。可以是各种类型的数据

方法体: 方法实现具体功能的代码部分。

返回值: 要和方法的返回值类型结合使用:

​       1、 如果返回值类型是void。那么该方法不能有返回值(要么没有reutrn,要么return后面不要写数据)。

        2、如果返回值类型不是void,是其他类型: 那么此时方法最终一定要有返回值,而且返回的数据要和返回值类型对应。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值