无论面向对象还是面向过程, 这俩都是解决问题的思路而已, 只是角度不同.

面向过程:
强调解决问题的每一个步骤都亲力亲为,每一个细节都自己手动实现.
面向对象:
使用特定功能对象去解决特定的问题, 每一个细节不需要关注,只需要创建对应的对象即可.
面向对象是基于面向过程的
类和对象及他们的关系
类: 具有相同特征和行为(功能)的事物的统称 , 是一个抽象概念
对象: 这类事物中某个确定的个体
类和对象的关系
一个类可以创建多个对象 , 类是对象的抽象, 对象是类的实例.
描述一个事物----> 类
特征----> 成员属性(成员变量)
行为(功能)---> 成员方法
类的创建格式:
修饰符 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引用及对象构造初始化
# 的是
# 都是
# 是一个
# 变量名
# 放在
# 多个
# 就不
# 修饰符
# 给大家
# 解决问题
# 只写
# 提高了
# 他们的
# 不需要
# 三大
# 要去
# 对其
# 这类
# 希望能
相关文章:
怀化网站制作公司,怀化新生儿上户网上办理流程?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
如何通过老薛主机一键快速建站?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
网站app免费制作软件,能免费看各大网站视频的手机app?
,网站推广常用方法?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
广州商城建站系统开发成本与周期如何控制?
网站制作软件有哪些,制图软件有哪些?
太平洋网站制作公司,网络用语太平洋是什么意思?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何自定义建站之星网站的导航菜单样式?
建站之星如何修改网站生成路径?
教程网站设计制作软件,怎么创建自己的一个网站?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
如何选择靠谱的建站公司加盟品牌?
如何在Ubuntu系统下快速搭建WordPress个人网站?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
建站之星安装步骤有哪些常见问题?
建站之星安装后界面空白如何解决?
如何解决VPS建站LNMP环境配置常见问题?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
Thinkphp 中 distinct 的用法解析
如何选择PHP开源工具快速搭建网站?
建站主机选购指南:核心配置与性价比推荐解析
香港服务器租用费用高吗?如何避免常见误区?
建站OpenVZ教程与优化策略:配置指南与性能提升
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
如何使用Golang table-driven基准测试_多组数据测量函数效率
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
北京的网站制作公司有哪些,哪个视频网站最好?
如何用虚拟主机快速搭建网站?详细步骤解析
如何通过多用户协作模板快速搭建高效企业网站?
如何在阿里云购买域名并搭建网站?
制作网站公司那家好,网络公司是做什么的?
如何在腾讯云服务器上快速搭建个人网站?
深圳网站制作案例,网页的相关名词有哪些?
建站之星2.7模板快速切换与批量管理功能操作指南
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
python的本地网站制作,如何创建本地站点?
电商网站制作价格怎么算,网上拍卖流程以及规则?
网站制作公司,橙子建站是合法的吗?
香港服务器如何优化才能显著提升网站加载速度?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
*请认真填写需求信息,我们会在24小时内与您取得联系。