Java的封装方法

article/2025/11/7 7:31:15

在面向对象程式设计方法中,封装(英文名称:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性,这个就是Java封装方法。
下面是封装方法的示例代码:

public class EncapsulationDemo {

private int number;
private int clss;public int getNumber() {return number;
}
public void setNumber(int number) {this.number = number;
}
public int getClss() {return clss;
}
public void setClss(int clss) {this.clss = clss;
}

}

上面示例代码中,将number和clss属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏,采用‘this’关键字是为了解决实例变量(private int number)和局部变量(setNumber (int number)中的number变量)之间发生的同名的冲突,Java中的‘this’关键字‘this’关键字代表当前对象;this.属性(操作当前对象的属性);this.方法(调用当前对象的方法)。以上实例中public方法是外部类访问该类成员变量的入口。通常情况下,这些方法被称为‘getter’和‘setter’方法。因此,任何要访问类中私有成员变量的类都要通过这些‘getter’和‘setter’方法。创建‘getter ’和 ‘setter’方法可以手动创建,也可以快捷键快速自动创建,用快捷键快速自动创建可以提高效率,操作方法是按住快捷键(Alt+Shift+S),然后选择(Generate getters and Setters),就会弹出一个框,然后勾选,直接按确定OK就可以了。下面是图例显示:
在这里插入图片描述

实现封装方法:第一是将修改属性的可见性来限制对属性的访问(一般限制为private);第二是要对每个值属性提供对外的公共方法访问,也就是创建‘getter ’和 ‘setter’方法(将实例变量的首字母大写,在前面添加‘get’或者‘set’, 变成‘getter ’和 ‘setter’方法名)。封装方法优势是不仅能够减少耦合;类内部的结构可以自由修改;还可以对成员变量进行更精确的控制;隐藏信息,实现代码细节,隐藏信息是为了防止代码信息和数据被外部类定义的代码随机访问而造成出错。


http://chatgpt.dhexx.cn/article/VdoludA6.shtml

相关文章

Java封装如何封装 封装的好处是什么?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、封装的作用是什么?二、封装的好处三、封装的步骤 1.引入库2.private的应用总结 前言 我要看电视,只需要按一下开关和换台就可以了。…

15、JAVA入门——封装

目录 一、封装 1、封装概述 2、封装的步骤 二、Java里的包 1、包的概述 2、包的定义 3、包的使用 4、注意事项 三、Java访问修饰符 1、类和类成员的访问控制 2、类的访问修饰符 3、类成员的访问修饰符 四、static关键字 1、static特点 2、static修饰属性 3、static修饰方法 4、…

初学java封装

封装 初识java封装 封装的用处: 1.提高程序的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口 4.增加系统可维护性 这里创建一个类 public class Package {//属性私有private String name;//名字private int age; //年龄private int sex;//性别//1.…

java如何实现封装_java如何实现封装

Java中类的封装是如何实现的封装是将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法。 java封装类通过三个步骤实现: (1)修改属性的可见性,限制访问。 (2)设置属性的读取方法。 (3)在读取属性的方法中,添加对属性读取的限制。 Java中什么叫封装呢? 继…

java封装dll文件_java类封装成dll

1,建立测试类,注意英文注释部分,用汉语直接编译会乱码 public classHello {//native method is used for call other language procedure//if use chinese here then Compile would be gibberish public native voidprintHello();static{ Sys…

java之封装

1.封装 1. 封装 1.1 private关键字 private是一个修饰符,可以用来修饰成员(成员变量,成员方法) 被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用&…

【JavaScript】js中非常常见的面试题

文章目录 1、手动实现防抖和节流2、let、const、var 的区别3、箭头函数与普通函数区别4、Promise5、数据类型6、检测数据类型的常用方法1 .typeof2 . instanceof3 .constructor4 . 使用 Object.prototype.toString.call()检测对象类型⭐5 . 自己封装函数6、isArray 7、数组的常…

JS的100道经典面试题(一)只看这四篇就够了,收藏起来以后偷偷看

年轻人你不讲武德,耗子尾汁~~~ 总结就是为了形成自己的js知识网,提升自己,加油! 开始干 1、介绍js的基本数据类型   答: Undefined、Null、Boolean、Number、String 2、js有哪些内置对象?  答&…

大前端JS部分基础面试题(含答案)

1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Null、Boolean、Number、String 值类型:数值、布尔值、null、undefined。 引用类型:对象、数组、函数。 堆栈数据结构:是一种支…

Js面试题__附答案

1、什么是JavaScript?(这是基本题,对很多程序员来说也是送分题!) JavaScript是客户端和服务器端脚本语言,可以插入到HTML页面中,并且是目前较热门的Web开发语言。同时,JavaScript也…

js 变量及作用域经典面试题

function Foo() {getName function () { alert (1); };return this; } Foo.getName function () { alert (2);}; Foo.prototype.getName function () { alert (3);}; var getName function () { alert (4);}; function getName() { alert (5);}//请写出以下输出结果&#x…

前端面试题集锦——JavaScript

JavaScript 栈和队列的区别? 栈的插入和删除操作都是在一端进行的,而队列的操作却是在两端进行的。 队列先进先出,栈先进后出。 栈只允许在表尾一端进行插入和删除,而队列只允许在表尾一端进行插入,在表头一端进行删除 栈和…

收集的面试题 js面试题

题库推荐网址:https://github.com/FEGuideTeam/FEGuide/tree/master/javascript%E9%97%AE%E9%A2%98 第1题: ## JavaScript 由以下三部分组成:1. ECMAScript(核心):JavaScript 语言基础2. DOM(文档对象模…

JS闭包+常见面试题

scope作用域 、Closure闭包对象 可以借助chrome调式工具查看闭包对象 注意:function声明存在变量提升,所以22行已经存在闭包对象了; 闭包产生的条件: 函数嵌套;嵌套的内部函数引用了外部函数的变量才会产生闭包对象…

前端面试题汇总(含答案)(JS篇)

主要自用,持续更新,相同类型的题目尽量放在了一起,参考的实在太多了就没有列出,侵权烦请联系删除。提示:自动生成的目录在页面右边---------->>>>>>>>>>>>>>>> Js的…

前端面试题(js篇)

1.解释一下什么是闭包 什么是闭包:函数使用了不属于自己的局部变量(函数套函数,里面函数使用了外面函数定义的变量) 闭包的作用:避免全局污染 闭包的缺点:使用过多会造成内存泄漏(占用的内存释放不掉) 2.…

js 实现页面隐藏、关闭、刷新给出对应的提示

我们在做项目的时候经常会遇到一些需求,比如在某些页面当点击浏览器刷新 或者关闭的时候会有对应的提示,是否离开或者重新加载此网站。比如csdn写文章的时候就有这个弹窗,这功能就是用onbeforeunload实现的。 注意:如果你加载下面…

js面试题大坑——隐式类型转换

1.1 隐式转换介绍 1.2 隐式转换规则 1.3 坑一:字符串连接符与算术运算符隐式转换规则混淆 1.4 坑二:关系运算符:会把其他数据类型转换成number之后再比较关系 1.5 坑三:复杂数据类型在隐式转换时会先转成String&#xff0…

u一点·料:阿里巴巴1688ued体验设计践行之路

U一点料 阿里巴巴1688UED体验设计践行之路 阿里巴巴1688用户体验部著 图书在版编目(CIP)数据 U一点料:阿里巴巴1688UED体验设计践行之路/阿里巴巴1688用户体验部著. —北京:机械工业出版社,2015.8 ISBN 978-7-111-5122…

一段百年征程的有限单群

1832年的某个清晨,革命中的法国见证了重新决斗。 在某个瞬间,某位青年被对手的枪射中腹部。随后去世。在当时狂热的政治斗争中,仅仅有寥寥数人意识到。法国,甚至世界。又失去了还有一个伟大的头脑。 这位青年姓伽罗华,…