java封装【private详细讲解】

举报
西红柿炒鸡蛋儿 发表于 2022/02/26 18:05:06 2022/02/26
【摘要】 一.面向对象的三大特征 :1.封装 2.继承 3.多态有了封装,才有继承,有了继承,才能说多态。面向对象的首要特征:封装。二.什么是封装?现实生活中有很多现实的例子都是封装的,例如:手机,电视机,笔记本电脑,照相机,这些都是外部有一个坚硬的壳儿,封装起来,保护内部的部件,保证内部的部件是安全的,另外封装了之后,对于我们使用者来说,我们是看不见内部的复杂结构的,另外我们也不需要关心内部有多么复...

一.面向对象的三大特征 :

1.封装 2.继承 3.多态

有了封装,才有继承,有了继承,才能说多态。

面向对象的首要特征:封装。


二.什么是封装?

现实生活中有很多现实的例子都是封装的,例如:

手机,电视机,笔记本电脑,照相机,这些都是外部有一个坚硬的壳儿,封装起来,保护内部的部件,保证内部的部件是安全的,另外封装了之后,对于我们使用者来说,我们是看不见内部的复杂结构的,另外我们也不需要关心内部有多么复杂,我们只需要操作外部壳上的几个按钮就可以完成操作。

封装之后在本类中可以访问,在其他类中必须使用set和get方法。


三.封装有什么用呢?

第一个作用:保证内部结构的安全。

第二个作用:屏蔽复杂,暴露简单。


四.在代码级别上,封装有什么用?

一个类体当中的数据,假设封装之后,对于代码的调用人员来说,不需要关心代码的复杂实现,只需要通过一个简单的入口就可以访问了,

来保证数据的安全性。

访问一个对象的属性,通常包括两种操作,

一种是读数据,一种是该数据。


五.不使用封装机制,分析程序存在什么缺点?

类中的属性对外暴露,可以在外部程序中随意访问,导致了不安全。


六.带有static的方法和没有带static的方法分别怎么调用?

带有static的方法通过“类名.”的方式访问。(在同一个类中,类名.可以省略)

没有带static的方法称为:实例方法(对象方法,对象级别的方法)

先new出对象,然后通过“引用.”调用

对象被称为实例。

实例相关的有:实例变量、实例方法。

实例变量是对象变量,实例方法是对象方法;

实例祥光的都需要先new对象,通过“引用.”的方式去访问。


七.构造方法空指针异常导致的最本质的原因是?

空应用访问“实例相关的数据”,会出现空指针异常。

实例相关的包括:实例变量+实例方法。

类 = 属性+方法

//属性描述状态,方法描述行为动作


八.封装

访问一个对象的属性,通常包括两种操作,一种是读数据,一种是改数据。

优点:第一数据安全了 第二:调用者也方便了。

private表示私有的,被这个关键字修饰后,该数据只能在本类中访问。  出了这个类就无法访问,私有的。

对外提供两个访问入口,

一个方法专门来完成读(get)

 一个专门来完成写(set)


1.get和set方法应该带有static吗?

对外停供公开的set方法和get方法作为操作入口,并且都不带static


java中开发规范中有要求,set方法和get方法要满足以下格式。

get方法的要求:

public 返回值类型 get+属性名(首字母大写)(无参){

                  return 属性名;
}

set方法的要求:

public void set+属性名(首字母大写)(1个参数){

                                属性名 = 参数名;

}



 

 

2.通过“类名.”可以调用set和get方法吗?

只有方法修饰符列表中有static的时候,才能使用“类名.”的方式访问。


3.封装的代码实现两步:

(1).属性私有化

(2).1个属性对外提供两个set和get方法,外部程序只能通过set方法修改,只能通过get方法读取,可以在ste方法中设立关卡来保证数据的安全性。


注意:set和get方法都是实例方法,不能带static

不带static的方法称为实例方法,实例方法的调用必须先new对象。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。