浅谈java面向对象(类,封装,this,构造方法)
发布时间 - 2026-01-11 01:49:24 点击率:次无论面向对象还是面向过程, 这俩都是解决问题的思路而已, 只是角度不同.

面向过程:
强调解决问题的每一个步骤都亲力亲为,每一个细节都自己手动实现.
面向对象:
使用特定功能对象去解决特定的问题, 每一个细节不需要关注,只需要创建对应的对象即可.
面向对象是基于面向过程的
类和对象及他们的关系
类: 具有相同特征和行为(功能)的事物的统称 , 是一个抽象概念
对象: 这类事物中某个确定的个体
类和对象的关系
一个类可以创建多个对象 , 类是对象的抽象, 对象是类的实例.
描述一个事物----> 类
特征----> 成员属性(成员变量)
行为(功能)---> 成员方法
类的创建格式:
修饰符 class 类名{
数据类型 成员变量名1;
数据类型 成员变量名2;
数据类型 成员变量名3;
...
成员方法1;
成员方法2;
成员方法3;
...
}
修饰符: public
类名: 标识符 见名知意
成员变量列表: 事物的特征 ,只写当前场景关注的特征,没必要把事物的所有特征全都写上 . 写法类似于定义变量
成员方法: 事物的行为(功能) 只写当前场景关注的行为(特征) 写法上类似于之前的定义方法, 区别在于此时写的话要去掉static
当一个类第一次使用的时候要载入到方法区 , 后续每一次再使用这个类 就不需要重复载入
成员变量和局部变量区别
1.定义的位置不同
局部变量: 定义在方法的内部
成员变量: 定义在类的内部, 方法的外部
2.在内存中的存放位置不同
局部变量: 局部变量存放在 栈区
成员变量: 成员变量存放在 堆区
3.生命周期不同
局部变量: 随着方法的调用而产生,随着方法的结束而消失 相对较短
成员变量: 随着对象创建而产生,随着对象数据回收而消失 相对较长
4.初始值不同
局部变量: 没有初始值, 使用之前必须进行赋值
成员变量: 有初始值, 引用类型 null, 整数 0 , 小数0.0 字符:空格, 布尔 false
封装性
封装是 面向对象的三大特征之一, 另外两个是继承 多态
类名:Person
属性:name ,age
方法:展示
封装好处: 提高程序的安全性
对属性封装的步骤:
1.使用private关键字修饰对应的属性 , 防止外界通过对象名.属性的方式直接访问属性
2.书写对应属性的set和get方法 , 给外界一个访问属性的通道
封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。
封装的原则:
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
成员变量private,提供对应的getXxx()/setXxx()方法
好处:
通过方法来控制成员变量的操作,提高了代码的安全性
把代码用方法进行封装,提高了代码的复用性
变量访问的就近原则:
当出现多个重名变量的时候, 目标代码使用的是离这行代码最近的那个变量
this可以解决的问题:
当局部变量和成员变量重名的时候, 想在特定的代码处访问成员变量, 就可以在目标行的变量名前面加this.
this只的是当前调用这个方法的对象
this 谁调用指的就是谁
构造方法
是一个方法. 作用: 给对象的数据赋值默认值
定义格式:
修饰符 方法名(参数列表){
若干条初始化语句
}
修饰符: public
方法名: 直接写类名
参数列表: 跟之前定义方法写形式参数一致
注意 构造方法 没有返回值类型
如果我们自己不手动写无参数的构造方法, 系统会默认提供一个,如果我们自己手动书写了无参的构造方法,
那系统就不会给提供,使用的时候直接使用我们自己写的构造方法
构造方法 也是方法 也可以进行重载
但凡我们手写了任意的构造方法, 系统就都不会给提供无参构造方法了 ,
当此时非要用无参的构造方法创建对象的时候, 必须自己手写无参的构造方法
以上这篇浅谈java面向对象(类,封装,this,构造方法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# 面向对象
# 封装
# Java this关键字的引用详解
# java this引用逃逸详解
# Java面向对象程序设计:类的定义
# 静态变量
# 成员变量
# 构造函数
# 封装与私有
# this概念与用法详解
# 详解Java基础篇--面向对象1(构造方法
# static、this关键字)
# java中的this引用及对象构造初始化
# 的是
# 都是
# 是一个
# 变量名
# 放在
# 多个
# 就不
# 修饰符
# 给大家
# 解决问题
# 只写
# 提高了
# 他们的
# 不需要
# 三大
# 要去
# 对其
# 这类
# 希望能
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Angular 表单中正确绑定输入值以确保提交与验证正常工作
Laravel PHP版本要求一览_Laravel各版本环境要求对照
js代码实现下拉菜单【推荐】
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
高端建站如何打造兼具美学与转化的品牌官网?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何快速搭建高效WAP手机网站吸引移动用户?
如何在云虚拟主机上快速搭建个人网站?
Laravel如何创建自定义Artisan命令?(代码示例)
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何在IIS管理器中快速创建并配置网站?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
详解Android——蓝牙技术 带你实现终端间数据传输
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
Laravel如何实现多对多模型关联?(Eloquent教程)
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
linux top下的 minerd 木马清除方法
Bootstrap CSS布局之列表
5种Android数据存储方式汇总
Laravel如何与Pusher实现实时通信?(WebSocket示例)
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何在IIS7上新建站点并设置安全权限?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
如何在云主机上快速搭建多站点网站?
*服务器网站为何频现安全漏洞?
深入理解Android中的xmlns:tools属性
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
,怎么在广州志愿者网站注册?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
JavaScript模板引擎Template.js使用详解
如何在阿里云虚拟服务器快速搭建网站?
linux写shell需要注意的问题(必看)
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
网易LOFTER官网链接 老福特网页版登录地址
Laravel怎么实现验证码(Captcha)功能
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
历史网站制作软件,华为如何找回被删除的网站?
油猴 教程,油猴搜脚本为什么会网页无法显示?
如何确保西部建站助手FTP传输的安全性?
如何用已有域名快速搭建网站?
Firefox Developer Edition开发者版本入口
制作公司内部网站有哪些,内网如何建网站?
在线教育网站制作平台,山西立德教育官网?
企业网站制作这些问题要关注
微信小程序 wx.uploadFile无法上传解决办法

