全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

浅谈java面向对象(类,封装,this,构造方法)

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

面向过程:

强调解决问题的每一个步骤都亲力亲为,每一个细节都自己手动实现.

面向对象:

使用特定功能对象去解决特定的问题, 每一个细节不需要关注,只需要创建对应的对象即可.

面向对象是基于面向过程的

类和对象及他们的关系

类: 具有相同特征和行为(功能)的事物的统称 , 是一个抽象概念
对象: 这类事物中某个确定的个体

类和对象的关系

一个类可以创建多个对象 , 类是对象的抽象, 对象是类的实例.

描述一个事物----> 类

特征----> 成员属性(成员变量) 
行为(功能)---> 成员方法

类的创建格式:

修饰符 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小时内与您取得联系。