首页 > 编程语言 >Java中封装的学习

Java中封装的学习

时间:2024-08-14 11:29:04浏览次数:14  
标签:封装 String sex 学习 hobby Java public 属性

封装


目录

概念

封装(encapsulation)是指对于某个对象,Java隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

优点

  • 良好的封装能够减少耦合。
  • 类内部的结构可以自由修改。
  • 可以对成员变量进行更精确的控制。
  • 隐藏信息,实现细节。

例子

import java.util.*;
class Member {
	public String name;//公共属性name
	public int salary;//公共属性salary
        private String sex;//私有属性sex
	public void setSex(String sex) {//定义一个公共的方法来设置sex属性
		this.sex=sex;
	}
	public String getSex() {//定义一个公共的方法来获取sex属性
		return this.sex;
	}
        public void setHobby(String hobby) {//定义一个公共的方法来设置hobby属性
		this.hobby=hobby;
	}
	public String getHobby() {//定义一个公共的方法来获取hobby属性
		return this.hobby;
	}
	public void talk() {//定义一个公共的方法talk
		System.out.println(name+"聊得非常开心!");
	}
}
public class Demo {
	public static void main(String[] args) {
		Member m=new Member();
		m.name="小红";//对公共属性name直接赋值
                m.salary=5000;//对公共属性salary也可以直接赋值
		m.setSex("女");//对私有属性操作,要通过get来访问、set来更改的方法
		m.setHobby("逛街");//同上
		System.out.println("姓名:"+m.name+",性别:"+m.getSex()
				   +",薪水:"+m.salary+",爱好:"+m.getHobby()+"!");
		m.talk();//可以调用Member类中的公共方法talk
	}
}

标签:封装,String,sex,学习,hobby,Java,public,属性
From: https://www.cnblogs.com/BingBing-8888/p/18358540

相关文章

  • java几种常见漏洞种类及处理方案
    一、SQLInjection(SQL注入漏洞)1.使用参数化查询(PreparedStatements)参数化查询是防止SQL注入最有效的方法之一。它确保用户输入的数据作为参数传递,而不是作为SQL命令的一部分。在Java中,可以使用PreparedStatement来实现这一点。示例代码:Stringsql="SELECT*FROMusers......
  • Java--抽象类与接口
    目录抽象类的概念1.什么是抽象(与具体类相对)2.为什么要抽象抽象类的好处抽象类和接口的区别抽象类的概念1.什么是抽象(与具体类相对)Java专门提供了一种机制,名为“抽象方法”。它属于一种不完整的方法,只含有一个声明,没有方法主体。下面是抽象方法声明时采用的语法:abstractvoidX......
  • Java--继承
    目录概念优缺点object类null概念由于封装,使得有共同特征的一类事物的所有描述信息都被归于一类之中,但我们知道,这并不是万能的,有些事物有共性,但还存在区别,比如码农,简单封装起来如下:优缺点优点:1、提高代码的维护性(只需要改动父类)。2、提高代码的复用性(共性的成员抽取到父类中......
  • 收放卷计算公式(FB封装)控制V90伺服
       收卷机是印刷、包装、纺织等行业中常见的设备,用于将卷状材料(如纸张、布料等)卷取或展开。在生产过程中,收卷机的控制系统起着至关重要的作用,可以实现对收卷机速度、张力、卷径等参数的精确控制,保证卷取或展开材料的质量和效率。现对其算法进行分析讲解。放卷计算(封装FB......
  • 超详细!网络安全知识入门及学习流程
    第一章:网络安全的基本概念和术语网络安全是指保护网络系统、硬件、软件、数据以及用户的隐私和权益,防止其受到未经授权的访问、篡改、窃取或破坏。以下是一些网络安全的基本概念和术语:漏洞(Vulnerability):指系统或软件中存在的弱点或缺陷,可能被攻击者利用来获取未经授权的......
  • [JAVA] 什么是多态?多态的使用和代码实现(超详细版)
    理解多态在JAVA中,多态是面向对象编程的重要特征之一,多态意味着在程序中同一个行为具有多种不同的表现形式。为了更好的理解多态的含义和使用方法,我们可以利用生活中的例子来帮助我们学习比如一些动物们都有跑,跳,吃等等的通用行为能力,不同的动物针对这些行为的表现形式是不同......
  • 深入理解 JavaScript 闭包
    前言在JavaScript中,闭包(Closure)是一个非常强大且常见的概念,它使得函数可以访问其外部作用域中的变量,即使在该函数外部作用域已经执行完毕的情况下。闭包广泛应用于回调函数、事件处理器、模块化编程等多个场景。本文将详细探讨闭包的定义、工作原理、常见应用场景以及潜在的陷......
  • 基于java的在线问卷调查系统的设计与实现
    @TOCspringboot145基于java的在线问卷调查系统的设计与实现第1章绪论**1.1课题背景二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。时代进步的标志,就是让人们过上更好的生活。在互联网诞生之前,地域位置往往是人们思想上......
  • Java jSerialComm库串口通信(USB RS-485/232) 查询/应答、主动上报模式
    JavajSerialComm库串口通信(USBRS-485/232)查询/应答、主动上报模式 查询/应答模式要在Java中通过USBRS-485接口发送和接收特定的数据帧,你需要利用适当的串行通信库。在Java中,一个常见的选择是使用RXTX或jSerialComm库。这些库允许Java应用程序与串行端口进行通信。......
  • 【开端】Java中Log级别和解析
    一、绪论Java系统中需要对日志进行输出,方便定位系统访问信息,系统报错信息,用于排查系统问题等。我们常常使用的日志有一下一些级别publicinterfaceLog{ booleanisDebugEnabled(); booleanisTraceEnabled(); voiderror(Strings,Throwablee); voiderror(......