Java面向对象—封装

Java 面向对象——封装 面向对象——封装1、类和对象1.1、什么是对象1.2、什么是类1.3、什么是对象的属性1.4、什么是对象的行为1.5、类和对象的关系1.6、类的定义1.7、对象的使用成员变量和局部变量2、封装2.1、private 关键字2.1、this 关键字2.3、封装2.31、封装概述2.32、封装原则2.33、封装的好处 1、类和对象 1.1、什么是对象 万物皆对象,客观存在的实物皆为对象 1.2、什么是类 类是对现实生活中的一类具有共同属性和行为的实物的抽象 类的特点: 1、类是对象的数据类型。 2、类是具有相同 阅读详情

在学习封装之前,我们先来看一个案例

通过上面的案例我们可以发现,在创建对象时任何的年龄值都可以被赋到age中,但是用户可能会输入不合理的值,这时候就不合理,这种情况应该在赋值之前就被判断处理,这时候我们之前学过的知识点就做不到了,要用封装才可以。

面向对象三大特征之一一封装

封装的概念:

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

封装的两大原则:

把所有的属性藏起来,把尽可能多的东西藏起来,对外提供便捷的接口

如何实现封装:

(1)修改属性的可见性,设为private,防止错误的修改

(2)创建公有的getter和setter方法,用于属性的读写

(3)在getter和setter方法中加入属性控制语句,对属性值的合法性进行判断

package com.oop.day07;
/**
 * @author LX
 * @create 2022-10-21 11:14
 * 封装:如何实现封装
 * (1)修改属性的可见性,设为private,防止错误的修改
 * (2)创建公有的getter和setter方法,用于属性的读写
 * (3)在getter和setter方法中加入属性控制语句,对属性值的合法性进行判断
 */
public class Student1 {
    private String name;//姓名
    private int age;//年龄
    //无参构造方法
    public Student1(){}
    //全参构造方法
    public Student1(String name,int age){
        this.name=name;
        this.age=age;
    }
    //getter和setter方法
    //setter方法用来写入属性值,在该方法中可以对该值进行判断
    public void setName(String name){
        this.name=name;
    }
    //getter方法用来获取属性值
    public String getName(){
        return name;
    }
    public void setAge(int age){ //在setter中对年龄值进行判断,避免不合理的值进入
        if(age<0 || age>120){
            System.out.println("年龄值必须在0-120之间");
            this.age=1;
        }else{
            this.age=age;
        }
    }
    public int getAge(){
        return age;
    }
​
    public static void main(String[] args) {
        //调用无参的构造方法
        Student1 stu1=new Student1();
        //调用全参的构造方法
        Student1 stu2=new Student1("周润发",20);
        System.out.println("大家好,我叫"+stu2.getName()+",年龄"+stu2.getAge());
        //不合理的值也会通过构造方法进入
        Student1 stu3=new Student1("周润发",-20);
        System.out.println("大家好,我叫"+stu3.getName()+",年龄"+stu3.getAge());
        //这时候就可以通过setter方法来进行赋值,对值进行合理判断
        Student1 stu4=new Student1();
        stu4.setName("刘德华");
        stu4.setAge(-20);
        System.out.println("大家好,我叫"+stu4.getName()+",年龄"+stu4.getAge());
        //注意:创建对象是通过构造方法是对属性赋初始值,但是在改变属性值或者需要对值进行判断时,
        //就需要通过setter方法来进行赋值
        stu4.setAge(21);
        System.out.println("大家好,我叫"+stu4.getName()+",年龄"+stu4.getAge());
    }
}
JAVA(十七)面向对象的三大特征之一封装 面向对象程序三大特性:封装、继承、多态。而类和对象阶段,主要研究的就是封装。封装简单来说就是套壳屏蔽细节。举个例子,手机中都有主板,而产家不会直接将一个主板直接卖给用户,而会对手机进行外壳的包装,将内部实现细节隐藏起来,仅仅对外提供开关机、按键以及插孔等,让用户和手机屏幕、按键交互,实际上手机真正工作的是CPU、内存等元件。封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。 阅读详情

相关推荐

Java面向对象(封装)超详细

什么是类:相似的对象划分成一个类类指的就是一种模板,定义了一种特定类型的所有对象的属性和行为。在一个.java的文件中,可以有多个class,但是只能有一个class是用public修饰。被声明为public的 class,必须和文件名相同类的定义格式:[访问修饰符] class 类名{成员变量成员方法(行为)内部类代码块类是模板,通过模板创建出具体的实例,就是对象对象就是实际存在的某类事物的个体,也叫实例 类和对象的关系,就是抽象和具体的关系。创建对象的语法。

weixin_59632805的博客 1030

面向对象之封装(Java)

面向对象之封装(Java) 面向对象是Java学习中最基础,也是最重要的一部分,其中它的三大特征包括: 封装 继承 多态 今天让我们一起来学习面向对象的三个特征之一 封装 吧! 何为封装? 将类的成员属性的访问修饰符规定为私有(private),这样该属性在其它类就不能调用,更不可能被修改。 为什么要使用封装? 定义一个类people,有姓名和财产等属性,默认值是:张三和12000。有show方法,输出姓名和财产。定义一个测试类,修改张三的money为-10000; public c

萌猩的博客 8022

基于集成运放心电放大器设计(原创)

原创作者:einyboy or alert 最近在看美剧《危机边缘》关于边缘科学的案件,科技控可以看一下,但建议不在吃东西的时候看。想像力是创造的思想源头,动手能力则是创造的车床。 自认为是没有想像力的那类,只能发挥动手能力了。 心电测量简介 图1 心电极接线图 如图1心电测试一般使用3个心电极进行测量,各个电极的说明如下: RA: Right Arm缩写,右手电极 LA: L...

huandaohack的专栏 6922

初识JAVA-面向对象的三大特征之封装

面向对象是一种解决问题的思想,它把计算机程序看作是各种对象组合起来的。每个对象都有自己的数据(属性)和行为(方法),主要依靠对象之间的交互来解决和实现问题。Java是一门纯面向对象的语言(Object Oriented Program,简称OOP)。封装是将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现的细节,仅对外公开接口来和对象进行交互,从而实现功能。为了更好的管理类,把多个类收集在一起成为一组,称为软件包。在Java中包是对类,接口等的封装机制的体现,是一种对类和接口等的很好的组织方法。

2301_76928097的博客 8097

基于OpenCV C++实现工业级形状模板匹配:仿Halcon SBM算法全解析

在计算机视觉和工业自动化领域,模板匹配是一项基础且关键的技术,用于在图像中定位已知目标。其核心原理是通过计算图像区域与预设模板之间的相似度来识别目标位置。传统的基于灰度值的匹配方法对光照变化敏感,鲁棒性不足。而基于边缘梯度方向的形状匹配技术,通过计算轮廓梯度方向的一致性进行相似度度量,从根本上提升了对光照变化的鲁棒性,并支持目标的旋转与缩放,技术价值显著。这项技术广泛应用于工业视觉检测、机器人引导、PCB定位等对精度和稳定性要求极高的场景。本文聚焦于使用开源OpenCV库,从底层仿照Halcon的Shape

weixin_33691817的博客 500

Linux之SUSE系统SAP-HANA经常系统内存不足使得SAP应用不能使用解决方案

问题描述 Linux内存使用量超过阈值,使得sap应用程序无可用内存,最终导致程序崩溃。 问题原因 自己查阅了一些资料,也基于zabbix的可用内存和实际不太一样入手去找原因发现问题出现于Cached的值过大,导致系统没有可以再分配的内存空间。Cached只要用来缓存文件的,经常读写的文件会被缓存到Cached中,可以增加读写效率,该功能是Linux系统内核提供的,而SAP-HANA的日志文件很大...

liuxiangyang_的博客 6709

java面向对象之封装

### 面向对象中的封装 一、封装的定义是什么? 在面向对象程式设计方法中,封装(英语: Encapsulation) 是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。 封装可以被认为是一个保护屏障, 防止该类的代码和数据被外部类定义的代码随机访问。 要访问该类的代码和数据,必须通过严格的接口控制。 封装最主要的功能:在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。 适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。 二、封装的优点 1.良好的封装能够减少耦合度

m0_67238428的博客 828

OpenBCI脑电帽硬件DIY与低成本搭建实战

本文详细介绍了如何通过第三方兼容硬件和开源设计,低成本DIY一套功能完备的OpenBCI脑电采集系统。从硬件选购、组装、软件配置到信号调试,提供了完整的实战指南,将总成本控制在千元级别,使脑机接口技术对爱好者、学生和研究者变得更加触手可及。

weixin_29322855的博客 785

JAVA 面向对象 隐藏和封装

本页面更新日期: 2016年07月22日前言 在前面程序中,经常出现通过某个对象直接访问其成员变量的情况. 这可能引起一些潜在问题,比如将某个 Person 的 age 成员变量直接设为 1000. 这在语法上没有任何问题, 但显然违背了当前的自然规律. 人怎么可能活到 1000岁 - - . (就现在的科学来讲) Java也考虑到了这种情况, 为你提供了 类和对象的成员变量

我就是认真的随便写写程序. 6050

【COMSOL】将一个面上数据导出CSV或txt格式的方法

在COMSOL中参数化扫描后,把一个面上或体里的数据按照CSV或TXT格式导出的方法。

dave496206的博客 2987

Floyd (弗洛伊德)算法简述

Floyd在1962年由Robert Floyd以其当前公认的形式出版。算法作为三个嵌套for循环的现代公式首先由Peter Ingerman在1962年描述。Floyd 算法是解决图论问题的比较经典的算法,是解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图的最短路径问题。

慕羽★的博客 2万+

java面向对象 封装_java面向对象之封装

面向对象的三大特征:封装,多态,继承面向对象——封装:封装的概念:封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。封装的步骤:1、使用private参数修饰该成员变量(private是私有的,只能在本类中进行访问,public是公共的,所有类都可以访问)2、使用一种公共方法对每个参数进行赋值,用于对外访问...

weixin_28707535的博客 158

PCL 计算点云的体积密度(C++详细过程版)

本文提出了一种基于点云体积密度的计算与可视化方法。算法通过KdTree搜索每个点的邻域,利用球体积公式计算单位体积内的点数作为密度值,并存储在点云强度属性中。代码实现了点云读取、密度计算和可视化功能,使用PCL库完成邻域搜索和密度渲染。结果显示,该方法能有效反映点云密度分布,为后续点云处理提供密度特征参考。文章附有完整C++代码实现和可视化效果图,适用于点云密度分析和特征提取应用。

点云侠的博客 308

Java面向对象之封装的理解

什么才算是Java面向对象? 很多人把面向对象的内容学完了都搞不懂这个问题。 Java面向对象的知识大概分为三个部分类以及其成员、关键字和面向对象的特征。 那么,用类和关键字写的程序就是面向对象吗? 显然不是,我就经常用Java的类和关键字写面向过程。 那么,究竟什么样的程序才算得上是面向对象呢? 答案:用类和关键字写的具有面向对象特征的程序是面向对象的程序。 所以说面向对象的知识中,类和关键字只是工具,面向对象的特征才是灵魂。 所以,这篇文章我们来谈谈面向对象中的封装。 什么是封装?.

weixin_53713452的博客 448

第十届MathorCup高校数学建模挑战赛-B题:养老服务床位需求预测与运营模式研究

当养老床位数增加时存在的商机,提出了相应的养老服务床位的运营商业模式。就业的可能性,建立多目标规划模型,尽可能同时满足三方面的要求。务床位的需求、制定合理的养老服务床位发展规划,是构建和谐社会、幸福社会。问题一的床位需求与市场类型的分类结果,查找关于国内养老院的相关数据,探。求,又能持续发展养老事业,同时还能促进社会就业的养老服务床位运营的商业。养老服务床位数的增加能够带来的就业方面因素的影响,并对这些因素进行一个。你们的模型及其结论为科学依据,对政府管理部门针对养老床位规划提出合理的。

getusushu的博客 1139

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JAVA面向对象之封装

JAVA面向对象之封装 概念:在代码中将具体功能封装到方法中,对象里将方法封装在类中,这些都是封装。 封装表现:1.函数就是一个最基本的封装体 2.类其实也是一个封装体 封装的好处: 1.提高了代码的复用性 2.隐藏了实现细节,还要对外提供可以访问的方式,便于调用者的使用。 3.提高了安全性 访问修饰符:私有private class Person { //私有化成员变量 private int age; private String name; public void show() { Sy

weixin_43633742的博客 237

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JAVA面向对象和封装

面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个过程 面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事 面向过程 public class face { public static void main(String[] args) { int[] array = {10,20,30,40,50}; //打印格式为[10,20,30,40,50] //使用面向过程,每一

weixin_60475929的博客 713

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Java面向对象之封装

大纲 一、Java面向对象之封装 二、Java的包的概念和命名规则 三、Java封装的权限修饰符 四、Java封装的构造方法

cqmfx的博客——Java那些事 397

Java面向对象--封装

目录 Java面向对象--封装 一、概念和目的 二、封装的例子 1.方法是一种封装 2.类是一种封装 三、代码演示 Java面向对象--封装 一、概念和目的 封装:将一些数据或者执行过程进行一个包装 目的:保护这些数据,或执行过程 二、封装的例子 1.方法是一种封装 方法本身就是一个封装,封装了执行过程,保护安全,隐藏细节,增加代码复用性 2.类是一种封装 好多的方法和属性又放在一个类中也是一种封装,像一些方法我们直接生成一个对象调用方法,而不需要知道里面是怎么实现的。 .

FGJtalent考研人 247

【Java】面向对象、封装

Java面向对象 2021/4/24 周六 复习内容: 面向对象与面向过程、类与对象、成员变量与局部变量、构造函数、封装 如有错误,欢迎在评论区指出,非常感谢! 一、面向对象与面向过程 面向过程Procedure Oriented:顾名思义,也就是说一步做一步。先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象Object Oriented:面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决

hanne_lovegood的博客 190

JAVA中面向对象——封装

JAVA中面向对象——封装 面向对象三大特性 封装、继承、多态 封装 定义 把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作。对不可信的进行信息隐藏。在一个对象内部,某些代码或者某些数据可以是私有的,不能被外界访问。通过这种方式,现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 即:封装是将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法。 实现 (1)修改属性的可见性,限制访问权限 (2)设置属性的读取方法 (3

weixin_47119452的博客 235

Java——面向对象三大特性之封装

Java——面向对象三大特性之封装

smile4548656的博客 311

java model 封装_Java 面向对象-封装

1.面向对象思想概述·面向:基本意:面向、朝向引申意:注重、关注·对象:世间一切事物·面向过程思想:面向过程思想就是把关注点放在一件事或一个活动中涉及到的步骤(也就是过程)上的思想·面向对象思想:-面向对象思想就是把关注点放在一件事或一个活动中涉及到的人或事物(也就是对象)上的思想-特点:更符合人们思考习惯的思想、把复杂的事情简单话、把人们从执行者变成指挥者-特征:封装、继承、多态2.类与对象描述...

weixin_31316383的博客 441

java面向对象封装概念

封装概述 概述 封装(Encapsulation)是面向对象的三大特征之一(另外两个是继承和多态),它指的是将对象的属性信息隐藏在对象内部,不允许外部程序直接访问对象内部属性信息,而是通过该类所提供的方法来实现对内部属性信息的操作和修改。封装是面向对象编程语言对客观世界的模拟,在客观世界里,对象的状态信息都被隐藏在对象内部,外界无法直接操作和修改。就如刚刚说的 Student 对象的 age 变量,只能随着岁月的流逝,age 才会增加,通常不能随意修改 Student 对象的 age。对一个类或对象实现

m0_46268533的博客 1292

Java 面向对象-封装

1.面向对象思想概述 ·面向: 基本意:面向、朝向 引申意:注重、关注 ·对象: 世间一切事物 ·面向过程思想: 面向过程思想就是把关注点放在一件事或一个活动中涉及到的步骤(也就是过程)上的思想 ·面向对象思想: -面向对象思想就是把关注点放在一件事或一个活动中涉及到的人或事物(也就是对象)上的思想 -特点:更符合人们思考习惯的思想、把复杂...

diji9334的博客 169
上一篇: Java面向对象—final关键字
下一篇: Java面向对象—继承
得闲饮茶呃
博客等级 码龄4年 303粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值