JAVA中的数据类型有两大类型:

① 基本数据类型:逻辑型(boolean)、文本型(char)、整数型(byte、short、int、long)、浮点型(float、double)

② 引用数据类型:类(class)、接口(interface)、数组(array).

JAVA中方法传入参数有两种方式:

①值传递:当方法中传入的是基本数据类型, 此时形参传递的是副本, 不改变原来的要传入的参数值

②址传递:当方法中传入的是引用数据类型时, 把形参和实参的指针指向了堆中的同一对象, 是址传递,会改变原来要传入的参数

demo:

1. 首先编写一个类,待会用到.

1 packagewww.heima.com;2

3 public classBirthdate {4

5 private intday;6 private intmonth;7 private intyear;8

9 public Birthdate(int day, int month, intyear) {10 super();11 this.day =day;12 this.month =month;13 this.year =year;14 }15

16 public void setDay(intday){17 this.day =day;18 }19

20 public void setMonth(intmonth){21 this.month =day;22 }23

24 public void setYear(intyear){25 this.year =year;26 }27

28 public intgetDay(){29 returnday;30 }31

32 public intgetMonth(){33 returnmonth;34 }35

36 public intgetYear(){37 returnyear;38 }39 @Override40 publicString toString() {41 return "Birthdate [day=" + day + ", month=" + month + ", year=" + year + "]";42 }43 }

2. 具体讲述:

1 packagewww.heima.com;2

3 public classTestdate {4

5 public void change1(inti){6 i = 1234;7 System.out.println("i.value = "+i);8 }9

10 public voidchange2(Birthdate b){11 b = new Birthdate(22, 2, 2004);12 System.out.println("b = "+b);13 }14

15 public voidchange3(Birthdate b){16 b.setDay(300);17 System.out.println("b.hashCode = "+b.hashCode());18 }19

20 public static voidmain(String[] args){21 int date = 9;22 Birthdate d1 = new Birthdate(1, 1, 2000);23 Testdate td = newTestdate();24 td.change1(date);25 System.out.println("date.value = "+date);26 td.change3(d1);27 System.out.println("d1 hashCode = "+d1.hashCode());28 }29 }

运行结果:

i.value = 1234

date.value = 9

b.hashCode = 366712642

b.value = Birthdate [day=300, month=1, year=2000]

d1 hashCode = 366712642

d1.value = Birthdate [day=300, month=1, year=2000]

从上数结果中可以看出:形参b与实参d1具有相同的hashcede, 也即具有相同的值;形参 i与实参date具有不同的值.

[注]:针对不同的方法, 调用方法的作用域不一样.

[注]:如果一个方法前面没有static, 就必须先new一个对象, 才能调用此方法.

[注]:方法调用完后,为这个方法分配的所有局部变量的内存空间消失.

java怎么传入参数到方法当中_java中方法传入参数时:值传递还是址传递?相关推荐

  1. java更新数据库错误就回滚_Java 中对数据库操作时的 回滚

    Connection conn=null; conn.rollback()就可以回滚 //用jdbc连接数据库 //举例子,比如你在写一个级联删除的方法的时候,为了保证数据完整性,删除的时候一定要确定 ...

  2. java 传入参数_Java 中方法参数的传递

    java中方法参数传递看似有两种,值传递和引用传递.而实际上都是值传递. 所谓值传递,传递的是变量的副本就是说,在将变量a作为参数传进方法中时,方法中接收到的是a的副本,在方法中对参数的修改实际上修改 ...

  3. java 不定参数方法_java中不定长参数的使用方法

    java中不定长参数的使用方法 不定长参数方法的语法如下:返回值 方法名(参数类型...参数名称) 在参数列表中使用"..."形式定义不定长参数,其实这个不定长参数a就是一个数组, ...

  4. java 变参 使用数组调用_java中的可变参数使用方法

    java中的可变参数使用方法 可变参数时Java 1.5新增的方法,可变参数方法接收0个或者多个指定类型的参数,可变参数机制通过先创建一个数组,数组的大小为在调用位置所传递的参数数量,然后将参数值传到 ...

  5. java传参数的方法_java中方法的参数传递机制

    无论是什么语言,要讨论参数传递方式,就得从内存模型说起,主要是我个人觉得从内存模型来说参数传递更为直观一些.闲言少叙,下面我们就通过内存模型的方式来讨论一下Java中的参数传递. 这里的内存模型涉及到 ...

  6. java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。

    方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能--通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...

  7. java 方法大全_java中的方法大全

    方法: 一.什么是方法? 就是有名字的代码段.适用于函数. 方法的定义只管某个功能的实现,只保证功能的可用. 二.方法的目的是什么? 为了代码的重用.(相同的类型的操作,不用重复的写代码) 三.方法的 ...

  8. Java中field的覆写_Java中方法的覆写

    [套装4本]java编程思想4第4版+ 402.5元 包邮 (需用券) 去购买 > 一.方法的重写概念 之前说了子类如果继承了一个父类,那么子类就会拥有父类的方法(不包括构.造方法)和属性,此时 ...

  9. java 参数传递_java中方法的参数传递机制

    无论是什么语言,要讨论参数传递方式,就得从内存模型说起,主要是我个人觉得从内存模型来说参数传递更为直观一些.闲言少叙,下面我们就通过内存模型的方式来讨论一下Java中的参数传递. 这里的内存模型涉及到 ...

最新文章

  1. html 地图 自动适应,Html显示地图
  2. Linux 网络编程—— libpcap 详解
  3. linux 阅读日志命令 tail
  4. 矩阵相乘取共轭_正交矩阵学习小结
  5. java jobdetail_Java JobDetail.setName方法代码示例
  6. php 替换img宽度,php 如何替换img
  7. 中秋祝福网页制作_幼儿园中秋节活动方案(附环创)
  8. 人口matlab数学模型,基于MATLAB构建人口数学模型研究二胎开放对中国人口的影响...
  9. 写了个鼠标键盘模拟器,希望对大家有用哈!
  10. win7配置magic mouse和keyboard
  11. mysql常用语句五:DQL中的查询操作
  12. 关于使用媒体查询@meda失效原因的总结或注意事项
  13. pppoe协议和pppd源码分析
  14. 用YOLO3进行人民币编码的定位与切割
  15. 面向“接口”编程和面向“实现”编程
  16. IPFS和Filecoin的优势在哪里?
  17. 如何系统自学Java成功就业?
  18. 搭建Win7调试ACPI的环境
  19. fast无线网卡linux驱动,fast FW150US USB无线网卡Linux驱动安装
  20. 如何经济高效地扩展5G毫米波段?(二)

热门文章

  1. android 手机 与 python服务器_python服务器与android客户端socket通信实例
  2. linux fish颜色配置,如何在 Linux 中安装、配置和使用 Fish Shell?
  3. java ssh完整配置文件_ssh框架整合笔记---配置文件
  4. python地图匹配_python通过BF算法实现关键词匹配的方法
  5. python端口与c的区别_Python和C区别该如何理解?如何适应这种区别?
  6. diy无感无刷电机霍尔安装_从工作原理来了解意大利Brusatori无刷电机
  7. oracle安装前准备,Oracle 安装前准备
  8. mysql建表后添加约束_MYSQL建表完成之后添加约束
  9. linux 打包库文件,Linux的文件的打包(tar方法)
  10. java左右连接sql写法,join用不了了 sql语句写法,不用join