java学习(八)面向对象特征之封装和调用

JAVA(十七)面向对象的三大特征之一封装 面向对象程序三大特性:封装、继承、多态。而类和对象阶段,主要研究的就是封装。封装简单来说就是套壳屏蔽细节。举个例子,手机中都有主板,而产家不会直接将一个主板直接卖给用户,而会对手机进行外壳的包装,将内部实现细节隐藏起来,仅仅对外提供开关机、按键以及插孔等,让用户和手机屏幕、按键交互,实际上手机真正工作的是CPU、内存等元件。封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。 阅读详情

java学习(八)面向对象特征之封装和调用

封装:是面向对象的三大特征之一,作用有两个

  • 保证内部结构安全

  • 屏蔽复杂,暴露简单

封装从代码级别来看有啥用?

  • 对于代码调用的人来说,不需要关心代码的复杂实现,只需要通过简单的入口就可以访问了

  • 在类体里的重要数据可以封装起来,让外部人员不能随意访问,保证数据安全性

复习一下方法的定义

【修饰符列表】返回值类型 方法名(参数列表){}

修饰符列表一般为public static,但是也有不带static的实例方法(对象方法)

有static的方法和没有static的方法怎么调用?

  • 有static的方法是静态方法,使用类名.方法名();调用即可, 如果在当前类中,类名也可以省略直接:方法名();

  • 没有static的方法称为实例方法,就是对象级别的方法。需要先new对象然后引用.方法();

  • 就是实例对象、实例方法调用都需要new对象去调用

代码

public class MethodTest{
    public static void main(String[] args){
​
        //类名.方法名();调用
        MethodTest.doSome();
​
        //省略类名直接调用
        doSome();
​
        MethodTest m1 = new MethodTest();
​
        //引用.方法名();才可以调用无static的方法
        m1.doOther();
    }
​
    //定义一个有static的方法
    public static void doSome(){
        System.out.println("doSome执行");
    }
​
    //定义一个无static的方法
    public void doOther(){
        System.out.println("doOther执行");
    }
}

怎么封装?

  • 私有化 private关键字

    • private关键字声明后,变量只能在当前类调用

  • 提供对外开放的入口

封装get和set方法读取和修改

  • 这样的方法定义的时候不能使用 static 关键字修饰,被称为实例方法 :set 和 get 方法访问的都是某个具体对象的属性, 不同的对象调用 get 方法获取的属性值不同,所以 set 和 get 方法必须有对象的存在才能调用。

  • 对象级别的 方法,不能直接采用“类名”调用,必须先创建对象,再通过“引用”去访问。

  • get方法要求:public 返回值类型 get + 属性名首字母大写(){

    ​ return;

    }

  • set 方法规范中要求是 public void set + 属性名首字母大写(一个参数){

    ​ xxx = 一个参数;

    }

public class Person{
​
    //封装,提供一个get和一个set接口
    private int age;
    
    //get方法
    public int getAge(){
        return age;
    }   
​
    //set方法
    public void setAge(int nianLing){
        if (nianLing<0 ||nianLing>150){
            System.out.println("您输入的年龄值不合法!请您重新赋值");
            return;  //只要有return语句执行,当前所在方法就结束
        }
        System.out.println("年龄合法才会执行这里------------------------------");
        age = nianLing;
    }
}
​

调用

public class PersonTest02{
    public static void main(String[] args){
​
        Person p1 = new Person();
​
        //int nianLing = p1.getAge();
​
        //System.out.println(nianLing);  //0
​
        p1.setAge(188);
​
        //System.out.println(p1.getAge());  //0
​
        p1.setAge(18);
        //System.out.println(p1.getAge());  //18
​
        p1.setAge(108);
        //System.out.println(p1.getAge());  //108
    //注:如果setAge时,传的变量不符合要求,return;执行,整个方法会结束。【该方法】后面的代码就执行不到
    }
}

 

【小白级理解】面向对象三大特征:封装、继承、多态 文章目录前言一、面向对象的基本概念1、对象2、类二、面向对象的三大特征1、封装(1)概述(2)原则(3)总结2、继承(1)概述(2)继承的好处和弊端3、多态总结 前言 面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。   对 Java 语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计 阅读详情

相关推荐

Java春招面试题:Java面向对象的特征有哪些?

面向对象程序设计(Object-Oriented Programming,以下简称OOP)起源于20 世纪60年代的Simula语言,是一种发展已经将近30年的程序设计思想。其自身理论已经十分完善,并被多种面向对象程序设计语言(Object-Oriented Programming Language,以下简称OOPL)实现。如果把UNIX系统看成是国外在系统软件方面的文化根基,那么Smalltal...

E_book 1830

Java和Python对类的属性的封装

本文简单介绍java和python对类的属性的封装,同时简单介绍对私有的类属性的访问和修改的方法。

m0_55341949的博客 456

2021英伟达暑期实习面经(芯片设计)

2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。

Hadleysjtu的博客 1万+

python程序如何封装成接口_程序员Python和Java类的封装、继承和多态

@Python大星一、Python 类的封装、继承和多态封装继承Python 支持多父类的继承机制,所以需要注意圆括号中基类的顺序,若是基类中有相同的方法名,并且在子类使用时未指定,Python 会从左至右搜索基类中是否包含该方法。一旦查找到则直接调用,后面不再继续查找。解决了多重继承的冲突问题。多态狗、猫、猪都继承了动物类,并各自重写了 kind 方法。show_kind () 函数接收一个 a...

weixin_31184715的博客 906

千兆以太网PHY设计:PCB原理图完整示例

深入解析千兆以太网PHY电路设计要点,提供完整的PCB原理图设计实例,帮助工程师掌握高速信号布局与电源去耦等关键技术,提升设计稳定性与信号完整性。

weixin_30633869的博客 629

Windows下用VS2022编译libcurl全流程(含openssl配置避坑指南)

本文详细介绍了在Windows平台使用Visual Studio 2022编译libcurl库的完整流程,重点解决了集成OpenSSL支持HTTPS功能时的常见配置难题。从环境准备、源码获取、依赖编译到工程配置,提供了清晰的步骤和针对非默认安装路径的避坑指南,帮助开发者高效完成网络库的集成工作。

weixin_29291185的博客 245

Python中的Java类封装示例

Python中的Java类封装示例

Leon_Jinhai_Sun的博客 995

CAPL编程的催化剂——CAPLdll的实现

CANoe作为一款功能强大的总线开发及测试工具,不仅仅是因为其丰富的库函数,最重要的是其兼容了多种编程语言,可以实现灵活的开发,极大的解决了纯CAPL编程所带来的限制,如通过动态链接库(DLL)来实现复杂函数的编写,使其能够在CAPL中可以调用,下面将对DLL的实现进行分析。capldll.cpp这个文件初看相当复杂,从整体上来说,这段代码主要包含了两部分:自定义函数实现和回调函数定义,今天的主要任务是实现自定义函数,这里的函数定义与普通函数定义差不多,只是利用了CAPL的格式。在VS2017工程中打开。

车载控制器AutoSAR软件开发工程师 4646

Java三大特性之一—— 封装

封装指的是将数据和操作数据的方法有机结合,同时对外隐藏内部的细节,只暴露必要的接口供其他对象使用。封装性的主要目的是保护数据,防止外部的不合理访问和修改,从而提高代码的可维护性和可复用性。

L326214的博客 1285

【短距离通信】【WiFi】精讲802.11n/ac/ax mpdu和ampdu最大长度

在 Wi-Fi 标准(802.11n、802.11ac 和 802.11ax)中,和是数据传输的核心概念。理解它们各自的作用以及不同标准下的最大长度限制,有助于深入了解 Wi-Fi 的性能优化机制。以下是对802.11n802.11ac和802.11ax中MPDU和A-MPDU最大长度的详细技术分析和对比。1. MPDU 和 A-MPDU 的基本概念MPDU 是经过 MAC 层处理后的数据单元,主要由MAC层数据帧和物理层的传输头部(PHY headers)组成。

风云说通信 1108

Labview如何0基础自学快速入门?(纯干货帖)

讲解了如何学习Labview,Labview如何0基础入门,自学Labview的方法。什么都不会如何学好Labview的分享,欢迎关注文章~文章提供《Labview宝典》pdf下载,和《Labview虚拟仪器数据采集与通信控制》pdf下载

关注我,更多技术问题欢迎私聊~ 2万+

Java 调用 python 的接口

不管什么技术,不管什么问题,只要努力就能解决。 最近在做项目的时候,需要java 调用 python 接口,在网上找了一些方法,但是总碰到一些问题,索性将网上的方法和自己的理解总结一下,希望对各位博友有所帮助,也请各位大神不吝赐教。 一:创建环境 Python 环境 import org.python.core.PySystemState; import org.python.util.PythonInterpreter; /** * Jython环境,生存python解...

ITSM/ITIL/网络安全/IT运维 3240

【OpenClaw从入门到精通】第34篇:医疗AI的“Agent OS”时代:基于WiseClaw构建医院专属智能体平台(2026实测版)

2026年医疗AI迈入实战落地新阶段,全球首个医疗OpenClaw平台WiseClaw正式发布,香港中文大学(深圳)医院完成业内首个私有化部署。本文基于真实医疗场景需求与公开技术资料,系统拆解医疗智能体平台的建设逻辑:从医疗Agent OS的五大核心特性切入,详解门诊病历质控、用药审查、医院运行管理三大临床场景的智能体搭建流程,提供完整的私有化部署代码、安全配置方案与实操演示。文章兼顾新手入门与进阶需求,严格遵循医疗合规要求,强调“只读不写+人工复核”原则,所有方案均经过虚拟实测验证。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 788

Java面向对象编程三大特征 - 封装

本文关键字:Java、面向对象、三大特征、封装。封装是面向对象编程中的三大特征之一,在对封装性进行解释时我们有必要先了解一些面向对象的思想,以及相关的概念。

微光点亮星辰 1万+

通信算法之320:DJI无人机云哨--信息包类型

大疆DJI无人机的云哨信息包主要分为四种类型:1)含经纬度位置、型号及序列号的完整数据包;2)仅含序列号的简化数据包;3)完全加密的数据包;4)加密密钥包。这些信息包格式不同,解析方式和应用场景也各异。如需更详细的技术资料,可联系作者获取。

leegang12的专栏 760

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

面向对象的三大特征(封装、继承、多态)

封装继承和多态

yu的博客 3万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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

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

2301_76928097的博客 8097

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Java面向对象三大特征(封装,继承,多态)

什么是多态?多态是在继承、实现情况下的一种现象,表现为:对象多态、行为多态。多态体现为父类引用变量可以指向子类对象。比如:Teacher和Student都是People的子类,代码可以写成下面的样子。

szm0225的博客 1903

面向对象之封装(Java)

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

萌猩的博客 8022

java中面向对象三大特征:封装、继承、多态

java中面向对象三大特征:封装、继承、多态一、面向对象特征之一:封装和隐藏二、面向对象特征之二:继承性三、方法的重写四、面向对象特征之三:多态性 一、面向对象特征之一:封装和隐藏 1、使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。 2、信息的封装和隐藏 Java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXxx(...

仰望与追逐的博客 1004

面向对象三大特征(Java学习)

面向:拿,找对象:能干活的东西面向对象编程:拿东西过来做对应的事情让编程变得更简单,有什么事,找对象,调方法就行;降低我们的学习成本,可以少学、少记,或者压根不用学,不用记对象有哪些方法,有需要时去找就行。继承是面向对象的三大特征之一,可以让类与类之间产生子父的关系可以把多个子类中重复的代码抽取到父类中,子类可以继续使用,减少代码冗余,提高代码的复用性在继承体系中,子类出现了和父类中一摸一样的方法声明,我们就称子类的这个方法是重写的方法;

m0_73313056的博客 1130

JAVA面向对象的三大特征--封装、继承、多态

面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。举例来说(办证)需要几步?按照面向过程思想:第一步:找到办事的人第二步:给办事的准备资料第三步 :办完证,证件反馈给我这里我们就看出来,面向过程就是把一件事按步骤一步一步来实现代码表示依次调用这些方法就行对 Java 语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。

weixin_67224308的博客 3515

面向对象的特征:继承封装和多态

面向对象的特征:继承、封装和多态 封装是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公布给其它对象。在java中能使用private、protected、public三种修饰符或不用(即默认defalut)对外部对象访问该对象的属性和行为进行限制。 继承是子对象可以继承父对象的属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了...

随我的博客 2428

Java中面向对象三大特征总结

JAVA中面向对象的三大特征:         面向对象具有继承性(Inheritance)         面向对象具有多态性(Polymorphism)         面向对象具有封装性(Encapsulation) 一、继承          多个类具有共同的属性(成员变量)与行为(成员方法)的时候,将这些共同的部分抽取出来定义到一个公共的类中,其他及各类可以与这个公共的类形成继

Wei_HHH的博客 1万+

Java面向对象思想以及三大特征之封装

本文主要介绍Java面向对象思想以及三大特征之一的封装,本文将从基本概念、特点、代码实例等多方面尽可能完整清楚地介绍面向对象思想及其三大特征之一的封装。

weixin_45676761的博客 494
上一篇: java学习(七)面向对象,构造方法
下一篇: java学习(九)static和this使用
python_nice
博客等级 码龄8年 46粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值