当前位置: 首页 > news >正文

第二章 方法与方法重载

文章目录

  • 第二章 方法与方法重载
    • 1.带参数的方法
    • 2.方法传参
    • 3.构造方法
    • 4.构造方法重载
    • 5.成员变量和局部变量

第二章 方法与方法重载

1.带参数的方法

  • 定义带参数的方法

    <访问修饰符>  返回类型  <方法名>(<形式参数列表>) {//方法的主体
    }public int add(String name,Integer age){}
    
  • 调用带参数的方法

    对象名.方法名(实际参数1, 参数2,……,参数n)
    

注意:

  • 调用方法时不能指定实参类型!
  • 形参和实参数据类型、数量要一致!

2.方法传参

基本数据类型和引用数据类型数据在传参时区别:

基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。

引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用

值传递和引用传递:

基本数据类型:值传递(浅拷贝)

引用数据类型:地址传递(深拷贝)

3.构造方法

访问修饰符   构造方法名 ( ) { //初始化代码
}

无返回值类型,不需要写void、方法名与类名相同(区分大小写)、可以指定参数

  • 无参构造方法
Student s1=new Student();
  • 带参构造方法
Student stu1=new Student("张三",40);

**作用:**对象初始化(系统提供默认无参构造方法)

4.构造方法重载

  • 自定义构造方法

    方法名相同、参数项不同、与返回值、访问修饰符无关

  • 此时系统不再提供默认无参构造方法

public Student(){}
public Student(String name,int age){this.name=name;this.age=age;
}
带参构造方法this关键字是对一个对象的默认引用这里用以区分同名成员变量

方法重载:

  • 同一个类中
  • 方法名相同
  • 参数个数或类型不同
  • 与返回值和访问修饰符无关

this:当前对象

this.属性名

this.方法名

this() 调用构造方法(放在第一条语句)

5.成员变量和局部变量

成员变量和局部变量的区别:

  1. 作用域不同:
    • 局部变量的作用域仅限于定义它的方法
    • 成员变量的作用域在整个类内部都是可见的
  2. 初始值不同:
    • Java会给成员变量一个初始值
    • Java不会给局部变量赋予初始值

注意:

在同一个方法中,不允许有同名局部变量在不同的方法中,可以有同名局部变量

在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 在HFSS中对曲线等结构进行分割(Split)
  • ubuntu 安装两个nginx实例时的坑,非默认nginx实例配置修改总也不生效的问题
  • HTML及CSS面试题4
  • 66_1JSON【浏览器中处理JSON、Java中处理JSON(FastJSON、Jackson)】、Java中的bean
  • XML外部实体注入
  • 使用docxtemplater-image-module-free时支持动态获取图片大小
  • SpringBoot:将单体项目拆分成微服务项目
  • 【PGCCC】pg_bestmatch.rs:使用 BM25 提升您的 PostgreSQL 文本查询#PCA
  • Windows下添加开机启动项
  • Vue.js 中的指令(Vue自定义指令)
  • 在小程序添加公司官网访问
  • 使用 Vue 2 搭建后台管理系统
  • 学习计算机网络(五)——ICMP协议
  • 仕考网:考外省公务员可以调回本地吗?
  • 保研考研机试攻略:第三章——数学(2)
  • 2017 前端面试准备 - 收藏集 - 掘金
  • ES6语法详解(一)
  • JSONP原理
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Laravel 实践之路: 数据库迁移与数据填充
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • SQLServer之索引简介
  • 阿里云购买磁盘后挂载
  • 基于axios的vue插件,让http请求更简单
  • 记一次和乔布斯合作最难忘的经历
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 设计模式 开闭原则
  • 思否第一天
  • 我从编程教室毕业
  • ionic异常记录
  • MPAndroidChart 教程:Y轴 YAxis
  • raise 与 raise ... from 的区别
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • #Linux(权限管理)
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (第二周)效能测试
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (九)c52学习之旅-定时器
  • (力扣题库)跳跃游戏II(c++)
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)Oracle存储过程编写经验和优化措施
  • .DFS.
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net 托管代码与非托管代码
  • .Net--CLS,CTS,CLI,BCL,FCL
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .net中的Queue和Stack
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /etc/skel 目录作用