面向对象--类

一、成员变量和局部变量的区别:
1. 在类中的位置不同
a. 成员变量:在类中方法外
b. 局部变量:在方法定义中或者方法声明上
2. 在内存中的位置不同
a. 成员变量:在堆内存(成员变量属于对象,对象进堆内存)
b. 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
※ 由于内存中的位置不同,所以成员变量和局部变量可以重名。
3. 生命周期不同:
a. 成员变量:随着对象的创建而存在,随着对象的消失而消失
b. 局部变量:对着方法的调用而存在,对着方法的调用完毕而消失
4. 初始化值不同:
a. 成员变量:有默认初始化值
b. 局部变量:没有默认初始化值,必须定义、赋值,然后才能使用。
注意事项:
• 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
• 基本数据类型变量包括:byte/short/int/long/float/double/boolean/char
• 引用数据类型变量包括:数组、类、接口、枚举。

二、匿名对象的概述和应用
1. 匿名对象:没有名字的对象
2. 匿名对象的应用场景:
a. 调用方法,仅仅只调用一次的时候
i. 这样做的好处是为了节省代码
※ 注意:调用多次的时候不合适,匿名对象调用完毕就变成垃圾,可以被垃圾回收器不定时回收。
b. 匿名对象可以作为实际参数传递。eg:method(new car());
匿名对象可以调用属性,但是调用完后没有任何对象指向它,所以没有任何意义。

三、封装
1. 封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式。
2. 封装的好处:
a. 隐藏实现细节,提供公共的访问方式。
b. 提高代码的复用性
c. 提高安全性
3. 封装的原则:
a. 将不需要对外提供的内容都隐藏起来。
b. 把属性隐藏,提供公共的方法对其访问。

转载于:https://www.cnblogs.com/snail0404/p/10409682.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜索引擎的十大秘密(收藏)

要记住,在大多数情况下,登录搜索引擎可不是宣传和推广你网站的唯一手段。要取得真正的成功,你还需要使用很多其他的技术和方法。然而,当你适当的登录到搜索引擎后,也同样可以为你的站点带来大量的流量,而你…

pythonweb服务器部署iis_IIS部署python Web(FLASK试例)

开发环境:python3.6 、win7、pycharm20171、安装及配置IIS控制面板中>-程序和功能>-打开或关闭WINDOWS功能配置Internet信息服务配置万维网服务2、安装URL重写组件下载安装Web平台安装程序 5.0 (WEB PLATFORM INSTALLER 5.0)安装URL Rewrite 2.03、安装wfastc…

WPF开源框架项目

好久博客未更新新博文了,今天介绍一个WPF开源框架MaterialDesignInXamlToolkit废话不多说先让我们来看看框架得几张截图 让我们一起来看看源代码得结构如下图 接下我们运行代码看看运行后得截图 通过查看源代码, 由于是基于原生得状态进行修改样式及动画达到, 所以引…

rust房屋建造蓝图_都说蓝图,而不是白图、红图,你知道为什么?

文学上喜欢把对未来的构想或计划,称为蓝图。蓝图(英文:blueprint)在工业上指“蓝图纸”(晒图纸的俗称),因为图纸是蓝色的,所以被称为“蓝图”。也许是因其具有易于保存,不会模糊,不会掉色,不易玷…

洛谷P1085不高兴的津津

转载于:https://www.cnblogs.com/LITTLESUNwl/p/10417533.html

今天是个值得纪念的日子

今天对于我来讲真是个值得纪念的日子。博客这个词对于我来讲并不陌生,但真正和它亲密接触要算是今天了。以前在BlogChina、CSDN Blog等好几个大的博客站都注册了,但一直只是当收集好文章的工具箱,从来没有自己写过。今天是心血来潮&#xff0…

mysql中什么叫临时表_MySQL中使用临时表需要注意哪些?

1、临时表只在当前连接可见,当这个连接关闭的时候,会自动drop。这就意味着你可以在两个不同的连接里使用相同的临时表名,并且相互不会 冲突,或者使用 已经存在的表,但不是临时表的表名。(当这个临时表存在的时候&#…

Information worker

今天第一次听到了Information worker 这个词,很多人说.net 2.0中的很多新特性是为了Information worker 做的。体会一下,确实是这样。难道说Information worker作的东西不屑一顾?作为一个team,只有worker的效率提高了,整个team的…

2.【sheel学习】数组

sheel数组的部分操作 当我们需要使用一个指令,需要接收它返回的多个参数的时候这个时候就需要使用到数组 1:定义 declare -a array(1 2 3) 可以赋值多个参数,中间用空格隔开 2:数组值的获取 获取某个index的值:${array…

mysql添加新的实例_MySQL中添加新用户权限的实例详解

有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。下面的例子显示出如何使用MySQL客户安装新用户。这些例子假定权限根据以前的章节描述的缺省被安装。这意味着为了…

浏览器无法显示某些网页或者提示脚本错误的问题解决

1.访问某些网站提示脚本错误的问题 例:我在访问自己的MSN Space时浏览器总是提示脚本错误,而在别的机器访问却没有问题.显然时浏览器设置问题.如果安装有上网助手软件的话,最好卸载它.如果还不行,那就在Internet选项中,回复安全,隐私,高级的默认设置.删除所有cookie和文件. 2.有…

统计学习方法 学习笔记(五):支持向量机(下)

通过支持向量机(上)和支持向量机(中)的介绍,对支持向量机应该有点感性的认识啦!在这个学习笔记中,来继续探寻带核函数的支持向量机(解决如下图所示的问题) 对解线性分类问…

是先设计mysql表再进行php代码_PHP与RBAC设计思路,数据表设计与源码讲解

权限系统模块对于互联网产品是一个非常重要的功能,可以控制不同的角色合理的访问不同的资源从而达到安全访问的作用权限控制有哪些模型ACLRBAC 基于角色的访问控制从上图我们可以看出,ACL是用户和权限直接关系的,而RBAC则是通过角色间接关联用…

自动化测试模型

自动化测试模型可以看作自动化测试框架与工具设计的思想。自动化测试不仅仅是单纯写脚本运行就可以了,还需要考虑到如何使脚本运行效率提高,代码复用、参数化等问题。自动化测试模型分为四大类:线性模型、模块化驱动测试、数据驱动、关键字驱…

SQL实现split函数,自定义分割字符,自定义取出第几个分割字符前的字符串

自定义取出第几个分割字符前的字符串,默认位置(0)格式:dbo.split(字段名,分隔字符,取出的第几个字符串)如果没有分隔的字符,则返回整个字符串。如果取出的位置字符串的位置超出Index则返回空。CREATE FUNCTION [dbo].[…