面向对象基础(三)

方法调用

同一个类中的方法,可以直接调用   

写法:方法名(实参);

如果需要的数据不在目前编写的类当中,而在另一个类中(跨类访问与调用),则需要通过创建对象来访问/得到我们需要的数据

如果需要的数据在目前编写的类当中,则可以直接使用属性,也可以使用 方法名(实参); 来调用方法

如果方法中没有形参,则在调用时不需要传递实参

定义方法的时候,不会执行方法的代码,只有调用的时候才会执行,一个方法可以被多次调用

如果调用的方法有返回值,则调用后需要用一个变量接收返回值

在方法调用时,参数的个数必须匹配,参数的类型必须匹配,参数的顺序必须匹配

实际参数(实参)

真实传给方法的参数,叫实参。

实参可以是:常量、变量、表达式、函数等。

无论实参是何种类型的量,在进行方法调用时,它们都必须有确定的值,以便把这些值传送给形参。

写法:方法名(实参,实参);

形参和实参的类型要一致,java中的基本数据类型和引用数据类型都是按值传递,只不过引用数据类型传递的值是一个地址

在Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体

形式参数(形参)

形式参数是指方法名后括号中的变量

因为形式参数只有在方法被调用的过程中才实例化(分配内存单元),所以叫形式参数

写法: .....方法名(形参类型 形参名,形参类型 形参名){ 代码..... }

形参和实参的类型要一致,java中的基本数据类型和引用数据类型都是按值传递,只不过引用数据类型传递的值是一个地址

java中,形参是实参的一份拷贝,会在内存中额外开辟一块空间来存储形参的数据,形参和实参在内存中是两块空间

形式参数当方法调用完成之后就自动销毁了,形式参数也只会作用在此方法内

在Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体

void关键字

方法的返回值是可选的. 有些时候可以没有的,没有时返回值类型必须写成void

如果一个方法不需要返回值,则可以使用void关键字来定义方法

当然void定义的方法可以用return来结束,但是return后面不能有数据

写法: 修饰符 void 方法名称(形参){ 代码...... }

方法重载

在Java中,如果同一个类中包含了两个及两个以上方法名相同,方法参数的个数 或 参数类型的顺序(次序) 或 参数的类型不同的方法,则称为方法重载

方法重载的条件:

1、方法名必须相同

2、 参数列表必须不同,即参数的个数必须不同 或 参数的类型必须不同 或 类型的顺序(次序)必须不同(至少其中之一不同!!)

编译器在编译代码时,会对实参类型进行推演,根据推演的结果来确定调用哪个方法!!!

方法重载与返回值类型是否相同无关,即返回值类型可以相同可以不同,方法重载也和形参名无关,即参数名可以相同可以不同

方法签名

方法签名:经过编译器编译修改过之后方法最终的名字

具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字

只要方法签名不同,就说明了它们并不是一个方法,这就是方法重载之所以允许的原因!!!

代码经过编译之后,然后使用JDK自带的javap反汇编工具查看具体操作:

  1. 先对工程进行编译生成.class字节码文件

  2. 在控制台中进入到要查看的.class所在的目录

  3. 输入:javap -v 字节码文件名字即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值