当前位置: 首页 > article >正文

Java入门:07.Java中的面向对象

面向过程与面向对象

面向过程

  • 以整个功能的执行过程为基准, 思考过程中每一步的操作。

  • 例如:春晚,第1个是什么节目, 第2个是什么节目, ....

面向对象

  • 基于面向过程,不仅要思考过程中的每一步,还需要思考每一步都应该是由谁(对象)来实现的

  • 例如: 春晚,第1个是什么节目,由谁来表演。 第2个是什么节目,由谁来表演 。 ....

2 什么是对象

  • 生活当中的人或物, 就是对象

  • 睁开眼,看到的世界万物皆为对象。

  • 对象具有一定的特征和行为。

    • 这里的特征和行为都是偏概念性的。 只有应用具体的对象时,这些概念才具体。

    • 例如:手机有颜色,有尺寸。 具体是什么颜色, 什么尺寸, 要根据具体的手机来定。

3 类

  • 从面向对象的角度分析,我们知道

  • 我们编写程序时,不能只考虑要实现的功能

  • 还要考虑,由哪一个对象实现这个功能。

  • 所以必须要先有对象。

  • 对象不会凭空产生

  • 需要由类来产生对象

  • 什么是类?

    • 类是具有相同特征和行为的对象的抽象。

    • 是一堆对象的抽象概念。

  • 类与对象的关系

    • 类是对象的抽象(概念,模板)

    • 对象是类的具体实例。

  • 什么是抽象?

    • 在所有的特征和行为中抽取出与接下来应用相关的内容的过程。

  • 类的定义

    • 类中包含特征和行为

    • 编码时,定义方法来代表类的行为

    • 编码时,定义变量来代表类的特征, 这个变量又称为属性。

    • 所以,类中包含了属性和方法。

    class Person{
        String name ;
        String height ;
        String weight ;
        public void talk(){}
        public void sleep(){}
    }

注意:

我们在使用面向对象的方式进行程序设计时

类中的属性和方法都不要增加static关键字。

注意:

类名首字母要求大写

4 创建对象

 在之前数组篇中,我们提到过,当我们使用new关键字的时候,表示创建了一个引用类型的数据

  • 引用类型的数据比较复杂,不能像基本类型的数据一样,直接存储在变量中

  • 需要先存储在堆区中,同时会被分配一个内存地址

  • 接下来我们使用的都是这个内存地址。通过地址,间接的使用引用类型的数据。

  • 对象也是一个引用类型的数据,它里面包含着属性和方法,并存在于堆空间当中

  • 因此,我们和之前一样,可以通过地址间接的操作对象(存,取,使用),例:

class Person{}
class Phone{}
​
new Person() ; //创建了一个Person对象
new Phone() ;  //创建了一个Phone对象

下期我们将一起了解创建对象更深层的原理,那么今天的内容就到这里啦,如果存在哪些疑问或问题欢迎大家指出,再见~ 


http://www.kler.cn/a/287863.html

相关文章:

  • 网络编程 - - TCP套接字通信及编程实现
  • candb++ windows11运行报错,找不到mfc140.dll
  • Openresty 安装
  • --- 多线程编程 基本用法 java ---
  • 系统架构设计师-第1章-计算机系统知识要点
  • centos 8 中安装Docker
  • DRF序列化_data传参
  • AI 通过python脚本自动化导出交易软件某一天的分笔成交明细
  • 0基础轻松玩转.NET Web API 8.0【CICD】项目实战
  • FPGA与高速ADC接口简介
  • 谷粒商城实战笔记-275~276-商城业务-订单服务-订单确认页完成
  • 两阶段最小二乘法2SLS和Heckman两阶段回归Stata代码(附示例数据)
  • Hadoop的HA配置与实现(ZooKeeper)
  • 华为设备默认密码
  • 记一次ssh伪终端修改为shell
  • 3.3 语法规则
  • 设计模式--享元模式
  • 春秋云镜(ZZCMS 2023)·CVE-2023-50104
  • 【GPT】Coze使用开放平台接口-【7】Dify 比较篇
  • Git —— 2、配置本地与远程免密仓库免密访问、实操创建本地仓库与上github新仓库关联
  • 龙芯+FreeRTOS+LVGL实战笔记(新)——01准备开发环境
  • 使用Python+docx+sqlite3将Word表格内容写入sqlite表中
  • 洛谷8.30
  • 算法笔记|Day38动态规划XI
  • 【化学方程式配平 / 3】
  • 网络:IPv6