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

DAY6 面向对象

概念

对象是一种特殊的数据结构,可以用来记住一个事物的数据,从而代表该事物,可以理解为一个模板表,总而言之万物皆对象,比如一个人、一个物体等。

怎么创建对象

先设计对象的模板,也就是对象的设计图:类。

例如:我们需要创建一个明星Star类,设计明星有哪些特征。

通过new关键字,每new一次类就得到一个新的对象。

对象执行原理

方法区:存储类文件

栈内存:方法的执行(先进后出)

堆内存:放在堆中

类的基本语法

构造器

无参构造器

构造器:是一种特殊方法,不能写返回值类型,名称必须是类名,构造器也可以重载

有参构造器

特点

创建对象时,对象会去调用构造器。

应用场景

创建对象时,同时完成对对象成员变量(属性)的初始化赋值。

注意事项

  • 类默认就自带了一个无参构造器
  • 如果为类定义了有参数构造器,类默认的无参数构造器就没有了,还想用无参数构造器,就必须自己手写一个无参数构造器出来。

THIS关键字

概念

this就是一个变量,可以用在方法中,来拿到当前对象,哪个对象调用这个方法,this就拿到哪个对象。

应用场景

this主要用来解决:变量名称冲突问题的。

封装

要求

类就是一种封装,但是要合理的隐藏,合理的暴露(比如汽车:就隐藏电路等内容,暴露轮胎等)

操作

如何合理隐藏:使用private关键字修饰成员变量,就只能在本类中被直接访问,其他任何地方不能直接访问。

如何合理暴露:使用public修饰(公开)的get和set方法合理暴露成员变量的取值和赋值。

JAVABEAN

概念

是一种特殊类,也叫实体类,类中要满足如下需求:

  • 类中的成员变量全部私有,并提供public修饰的getter/setter方法
  • 类中需要提供一个无参数构造器,有参数构造器可选
应用场景

STATIC关键字

修饰成员变量

类名.静态变量(推荐),对象.静态变量(不推荐) 

对象.实例变量

修饰成员方法

如果这个方法只是为了做一个功能且不需要直接访问对象的数据,那么就定义为静态方法;

如果这个方法是对象的行为,需要访问对象的数据,这个方法必须定义成实例方法;

应用场景

做工具类,比如验证码:(VerifyCodeUtil)工具类中的方法都是一些静态方法,每个方法用来完成一个功能,以便供给开发人员直接使用,可以提高了代码复用;调用方便,提高开发效率。

注意事项

静态方法中可以直接访问静态成员,不可以直接访问实例成员。
实例方法中既可以直接访问静态成员,也可以直接访问实例成员。
实例方法中可以出现this关键字,静态方法中不可以出现this关键字的。

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

相关文章:

  • 代码随想录 (三)—— 哈希表部分刷题
  • 搜维尔科技:使用 SenseGlove Nova 2 远程操作机械手,实现了对鸡蛋的精细操控
  • Mybatis是什么?优缺点分别有哪些?
  • opencascade鼠标拖拽框选功能
  • docker 部署 postgres
  • 【重学 MySQL】五十、添加数据
  • 硬货!Zabbix监控AIX系统服务案例
  • python常见面试题
  • 低功耗接地故障控制器D4145
  • SpringMVC的处理流程
  • SpringBoot统一日志框架
  • vue-live2d看板娘集成方案设计使用教程
  • springboot接口如何支持400并发量
  • Verilog中的: `+:` 和 `-:`
  • 为何四次挥手要等待2MSL
  • C++——模拟实现list
  • React中useState、useReducer与useRef
  • ReGCL Rethinking Message Passingin Graph Contrastive Learning
  • ubutun安装ffmpeg
  • Vue的基本用法及模板语法
  • Redis数据库与GO完结篇:redis操作总结与GO使用redis
  • 《重生到现代之从零开始的C语言生活》—— 动态内存管理
  • 四、Spring Boot集成Spring Security之登录登出业务逻辑
  • pipe和pipefd
  • 无人机之飞控仿真技术篇
  • Tetra Pak利乐触摸屏维修beijer北尔触摸屏维修E1151
  • Python_网络编程(IP 端口 协议)
  • Adobe Acrobat提示“3D数据解析错误”
  • 红帽7—Mysql路由部署
  • LLM4Rec最新工作: 字节发布用于序列推荐的分层大模型HLLM