当前位置:网站首页 > Java基础 > 正文

java非基础类型参数



目录

[tpc]

Java数据类型

Java变量类型可以分为两种,一种是存储在堆栈中的基本数据类型,一种是存储在堆里的Java对象。

基本数据类型有9种,4种整型,2种浮点型,1种Unicode字符型,1种布尔类型,1种void类型。

void类型用于方法返回值,表示没有返回值。

基本类型 大小(字节) 包装器类型 byte 1 Byte short 2 Short int 4 Integer long 8 Long float 4 Float double 8 Double char 2 Character boolean java非基础类型参数-- Boolean void -- Void

引用

引用是一个经常看到的词,可以理解为一种操纵对象的手段。创建对象的引用并不代表着创建对象。

比如表示创建了一个对象的引用变量,变量目前还没有引用任何对象。

,此时变量引用字符串对象。

父类的变量可以引用子类的对象。接口的变量可以引用实现类的对象。

方法参数

Java中方法参数的传递全部是按值传递,也就是说传递给方法的参数都是一份新的拷贝。

以下是想要交换两个数的方法,但结果是错误的。因为传递给方法的参数是一份新的拷贝,之前的值是没有变化的。

 

方法的执行依赖着操作数栈、局部变量表和程序计数器,并且是方法私有的。对上述程序反编译:

得到带有附加信息的字节码,选项表示输出带有附加信息,选项表示显示所有类和成员。

截取main方法部分和swap方法部分内容:

 

(44行开始)

初始状态:

main方法的参数args存储在局部变量表0号位置中。

10进入操作数栈,栈顶元素10出栈并存入局部变量表1号位置。

常数5进入操作数栈, 栈顶元素5出栈并存入局部变量表2号位置。

调用方法,该方法有自己的操作数栈、局部变量表和程序计数器。

参数10存储在局部变量表0号位置,参数5存储在局部变量表1号位置。

方法,方法执行完毕,销毁栈帧,只是把方法里局部变量表里的参数a跟b互换了,而原本的a和b还原封不动。

需要注意的是,静态方法局部变量表0号位置的元素是方法第一个参数,而非静态方法的局部变量表0号元素是this,即对象本身。

  • 上一篇: java基础数据
  • 下一篇: Java基础教程
  • 版权声明


    相关文章:

  • java基础数据2025-04-20 13:42:00
  • java基础题 502025-04-20 13:42:00
  • Java基础案例PPT2025-04-20 13:42:00
  • java me基础教程2025-04-20 13:42:00
  • java基础60讲2025-04-20 13:42:00
  • Java基础教程2025-04-20 13:42:00
  • java精通基础2025-04-20 13:42:00
  • jsp java 基础2025-04-20 13:42:00
  • java技术分享基础2025-04-20 13:42:00
  • java基础2772025-04-20 13:42:00