03JAVA基础(方法/类/封装(构造方法))

目录

1.方法

1.1 方法的定义

1.2 方法的重载

 2.类和对象

  3.封装

1. private关键字

2. this关键字

3. 封装

4. 构造方法 


1.方法

        含义: 将具有独立功能的代码块组织成一个整体,具有特殊功能的代码集

        注意:  方法必须先创建才可以使用,需要手动调用执行 

        1.1 方法的定义

      格式: public static void 方法名(参数1){

                        //方法体

                }

       方法的调用: 方法名(参数2);

参数类型位置实例
形参方法定义的参数参数1
实参方法调用的参数参数2

       带返回值方法的格式: public static 数据类型 方法名(参数1){

                                                  return 数据;      

                                          }

       接受方法返回值的类型要与定义数据类型一致

       方法的注意事项:

                1.方法不能嵌套         

                2.void代表物返回值,可以省略return,也可以写,后面后面不加数据

        

        1.2 方法的重载

方法重载:

        多个方法在同一个类

        多个方法具有同一个名字

        多个方法的参数不相同,类型不同或者数量不同

注意: 方法参数的传递过程中

        对基本数据类型,形式参数的改变不影响实际参数的值(存储在栈内存)

        对引用数据类型,形参的改变影响实际参数的值(存储在堆内存)

实例:  public class a(){

                public static void mian(String[] args){

                        int number = 10;

                       System.out.println("调用前"+number); //10

                       change(number)
                       System.out.println("调用后"+number); //10

                }

                public static void change(int number){

                        number +=number;   // 20

                }        

}

 2.类和对象

        类:一类具有共同属性和行为的事物的抽象,确定对象拥有的属性和行为

        类的组成: 属性和行为

               属性: 在类中通过成员变量来体现

               行为: 在类中通过成员方法来体现(去掉static关键字)

        类的定义:

                public class 类名{

                        //成员变量

                        数据类型 变量1;

                        //成员方法

                        方法1;

                }

        对象的使用:

                创建对象格式: 类名 对象名 = new 类名();

                使用成员变量: 对象名.变量名

                使用成员方法: 对象名.方法名()

        

变量解释内存位置生命周期
成员变量类中方法外的变量堆内存随着对象存在而存在
局部变量方法中的变量栈内存随着方法调用而存在

  3.封装

           1. private关键字

             1.是权限修饰符

             2.可以修饰成员(成员变量和成员方法)

             3.作用保护成员不在别的类使用,private修饰只能在本类中使用

     针对private修饰成员变量,要被其它类使用.

             1.提供get变量名()获取变量成员的值

             2.提供set变量名(参数)方法用于设置成员变量的值

           2. this关键字

            this修饰的变量用于代指成员变量

            方法的形参和成员变量同名,如果不加this的变量,指的是形参

            this代表所在类的对象引用

            作用:

                    解决局部变量隐藏成员变量

            

            实例:

                    public class Student{

                          private String name;  // 加this指的是这个name

                          public void setName(String name){

                               this.name = name;

                          }

                    }

         3. 封装

          1.概念:

                 将成员变量隐藏在类的内部,外界无法直接操作

          2.封装原则

                将类的信息隐藏在类内部,不允许外部程序直接访问,通过类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXx/setXx()方法

          3.封装好处

                通过方法来控制成员变量的操作,提高了代码的安全性

                把代码用方法进行封装,提高了代码的复用性

        4. 构造方法 

        构造方法是一中特殊的方法

        作用:创建对象

        格式: 

                public class 类名{

                        修饰符 类名 (参数){

                        }

                }

        功能: 完成对象数据的初始化

        注意: 

                1.如果没有定义构造方法,系统会给出一个默认无参构造方法

                2.如果定义了构造方法,系统将不提供默认的构造方法

                3.如果定义了带参数的构造方法,想使用无参构造方法,就必须在写一个无参构造

                4.无论是否使用,都建议手写无参构造方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/17021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务八股-分布式事务-注册中心-服务保护

一、分布式事务 1.CAP和BASE 三者不能同时存在。 CP:由于网络分片的存在,如果要保证强一致性就不能写,此时不满足可用性 AP:由于网络分片的存在,如果要保证可用性,能读也能写,就不能保证强一致…

软件测试面试题(七)

一:测试执行过程的三个阶段 《1》初测期 测试主要功能和关键的执行路径,排除主要障碍 《2》细测期 依据测试计划和测试大纲、测试用例,逐一测试大大小小的功能、方方面面的特性、性能、用户界面、兼容性、可用性等等&a…

Nginx R31 doc-14-Dynamic Denylisting of IP Addresses 动态拒绝IP地址

前言 大家好,我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …

【讲解下Web前端三大主流的框架】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

Vue3 的 setup 生命周期函数中为什么不能使用 this ?

Vue3 的 setup 生命周期函数中为什么不能使用 this ? 官方解释:在 setup() 内部,this 不会是该活跃实例的引用,因为 setup() 是在解析其它组件选项之前被调用的,所以 setup() 内部的 this 的行为与其它选项中的 this 完…

infoq 读书笔记-Resilience in Deep Systems

1.Service granularity Don’t go with the hype; correspond to a real business capability. When designing complex applications using microservice architecture,we’re looking to define a set of cohesive and loosely-coupled services. we found that defining mi…

【OpenHarmony V4.1.1 源码解析 - 000】文章链接汇总

【OpenHarmony V4.1.1 源码解析 - 000】文章链接汇总 Release Note 链接: 《OpenHarmony-v4.1.1-release.md》 《Release-Note》源码下载链接: 《OpenHarmony-v4.1.1-Release.tar.gz》编译环境配置: 《Docker编译环境》

Java项目:基于SSM框架实现的学生就业管理系统分前后台(ssm+B/S架构+源码+数据库+毕业论文+开题报告)

一、项目简介 本项目是一套基于SSM框架实现的学生就业管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功能…

pytorch文本分类(四)模型框架(模型训练与验证)

关卡四 模型训练与验证 本文是在原本闯关训练的基础上总结得来,加入了自己的理解以及疑问解答(by GPT4) 原任务链接 目录 关卡四 模型训练与验证1. 训练1.1 构建模型结构1.2 模型编译1.3 模型训练1.4模型超参数调试 2. 推理2.1 模型准确性…

束测后台实操文档1-PVE、PBS

合肥先进光源束测系统后台基础架构初步设计报告 合肥先进光源束测系统后台搭建进展2024.4.29 关于后台基础架构,写了上面两篇文档,只是框架的印象,没涉及到具体的实操,后面针对具体的搭建慢慢的完善操作的细节,从今年…

基于STM32实现智能园艺系统

目录 引言环境准备智能园艺系统基础代码示例:实现智能园艺系统 土壤湿度传感器数据读取水泵控制温湿度传感器数据读取显示系统用户输入和设置应用场景:智能农业与家庭园艺问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式系统…

四川省税务局CDH国产化替代实践

“传统数据仓库对于数据处理时效较低,且无法处理实时增量数据及数据变更,同时,在面对海量税务数据大规模进行查询分析等方面存在一些挑战。我们希望尽快寻找到一款能够替代CDH,并且具备灵活扩展能力的大数据解决方案,以…

有限元法之有限元空间的构造

目录 一、区域Ω的剖分 二、三角形一次元 三、一次元的基函数与面积坐标 四、三角形二次元及其基函数 前两节我们介绍了有限元基本概念和变分理论的推导,本节我们继续探讨有限元空间的构造。 一、区域Ω的剖分 对矩形区域进行三角剖分,其中x方向剖…

MySQL的管理员用户名为root,密码默认为空,如何修改root密码?

MySQL的管理员用户名为root,密码默认为空。1、修改 root密码 MYSQL配置好后,启动成功,默认密码是空,但是为了安全,设置密码(mysql有 一个默认的用户名为root,密码自己定。) …

类 和 对象(二)

构造方法 接上篇,若每次都想下面的setDate方法给对象初始化,未免比较麻烦,那有什么方法可以让初始化更加简便呢? public void setDate(int year, int month, int day){this.year year;this.month month;this.day day;}答&#…

文献分享《Microbiome and cancer》

人类微生物群构成了一个复杂的多王国群落,与宿主在多个身体部位共生相互作用。宿主-微生物群的相互作用影响多 种生理过程和各种多因素的疾病条件。在过去的十年中,微生物群落被认为会影响多种癌症类型的发展、进展、转移 形成和治疗反应。虽然微生物对癌…

C++ final 和 override

final 和 override 是 C11 引入的两个关键字,它们的主要作用如下:final:用于指定一个类不能被继承,或者一个虚函数不能被子类重写。这有助于保护类的设计,防止意外的修改。override:用于显式地指出一个成员…

Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.4 创建Virtio和fw_cfg虚拟化环境

1. 概述 到这个阶段,我们已经把U-boot给跑起来了,如果感兴趣的小伙伴可以去看看。 什么是virtio? QEMU virtio是QEMU(Quick EMUlator)虚拟化技术中用于提高I/O性能的一种机制。QEMU是一个开源的虚拟化软件,可以模拟完整的计算机系统,包括CPU、内存和各种I/O设备。QEMU v…

2024年短视频评论区批量爬取采集软件

一、背景说明 前言 评论区引流,顾名思义,是通过在视频下方进行留言评论、回复评论,吸引用户的注意,从而和你的账号产生互动、交易。比如,在一个关于健身的视频下方,留言分享自己的健身经验或者提出问题。…

使用 SwanLab 进行可视化 MNIST 手写体识别训练

使用 SwanLab 进行可视化 MNIST 手写体识别训练 在线演示demo 本案例主要: 使用pytorch进行CNN(卷积神经网络)的构建、模型训练与评估使用swanlab跟踪超参数、记录指标和可视化监控整个训练周期 一、相关简介 SwanLab SwanLab是一款开源…