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

【Java基础】面向对象是什么

面向对象和面向过程的对比

面向对象和面向过程的对比

类和对象

class Car{}

  • 是描述对象(车)的类,属于引用数据类型
  • 用来描述对象具有的属性(变量)和行为(函数),属于概念模型

Car baoma=new Car();

  • 对象需要由类来创建
  • 对象具备了类中定义的属性和行为

对象+ .(成员访问符)+成员变量/成员函数

  • baoma.run();
    在这里插入图片描述

对象是由**编译后的字节码(.class)**创建的
在这里插入图片描述

成员变量&成员函数

  • **成员变量:**在类中定义的变量
  • **成员函数:**在类中定义的函数
class Car//引用数据类型 
{String color;//成员变量:在类中定义的变量int num;public void run()//成员方法:在类中定义的函数{System.out.println("行驶");}
}
//成员变量:在类中定义的变量
//成员函数:在类中定义的函数
class Demo1
{public static void main(String[] args) {int num;//局部变量Car baoma=new Car();baoma.color="白色";baoma.num=4;System.out.println(baoma.color+","+baoma.num);baoma.run();Car benchi=new Car();benchi.color="黑色";benchi.num=4;System.out.println(benchi.color+","+benchi.num);benchi.run();fun(benchi);System.out.println(benchi.color+","+benchi.num);//黑色fun2(benchi);System.out.println(benchi.color+","+benchi.num);//红色}public static void fun(Car car){car=new Car();//指向另外一个地址值,不会影响benchi的地址值car.color="红色";}public static void fun2(Car car){car.color="红色";}
}

内存情况

  • 因为main属于Demo1,所以先加载Demo1.class到内存中的方法区

  • **加载的原则:**用到哪个类,就先加载其字节码到方法区

  • Car baoma=new Car(); 加载Car.class进入方法区。

  • 调用run方法,run方法入栈,调用完立刻出栈
    在这里插入图片描述
    在这里插入图片描述

http://www.lryc.cn/news/343484.html

相关文章:

  • 家用洗地机应该怎么选?哪个牌子好?市场上主流洗地机品牌推荐
  • python Django REST framework允许你根据API的版本提供不同的行为或数据
  • unity给物体添加可以包裹所有子物体的BoxCollider
  • 2024五一数学建模A题思路代码与论文分析
  • ICode国际青少年编程竞赛- Python-1级训练场-基础训练2
  • 科技控必看!让你轻松成为机器人领域达人
  • Linux进程——Linux下常见的进程状态
  • TCP长连接短链接
  • 代码随想录35期Day33-Java
  • PMP考试没过怎么办?如何补考?(附复核流程)
  • 自主实现Telnet流量抓取
  • 以瓦片地图为底图添加图表,保留拖拽功能
  • Windows cmd bat之特殊符号及变量
  • 用python写个控制MicroSIP自动拨号和定时呼叫功能(可用在小型酒店叫醒服务)
  • axios 取消token 模糊搜索
  • 【OTS4WORD】“精简并行过程”——容易剪裁的“软件过程改进方法和规范”模板
  • 22 | MySQL有哪些“饮鸩止渴”提高性能的方法?
  • 【AIGC调研系列】VILA-1.5版本的视频理解功能如何
  • 如何解决WordPress邮件发送和接收问题
  • MySQL学习笔记10——日志
  • OpenSPG docker 安装教程
  • TypeScript学习日志-第十六天(泛型)
  • Flutter路由跳转的两种方式
  • Hydroxyethyl-PEG-Hydroxyethyl,Hy-PEG-Hy是一种由聚乙二醇(PEG)和二酰肼单元构成的嵌段共聚物
  • 链表面试题目:反转一个单链表的两种方法(解析+代码)
  • [C++][数据结构]AVL树插入的模拟实现
  • 力扣每日一题108:将有序数组转换为二叉搜索树
  • 保护公司机密:避免员工带着数据说拜拜
  • kali apt update报错
  • 7-1 图图图