Java-方法

一,方法的调用

方法分为静态(static)和非静态方法。

·如果被调用的方法是有static,那么使用它的时候,可以  类名.方法名()的形式

·如果被调用的方法没有static,那么使用它的时候,需要 对象.方法名的形式。

·调用方法时,必须传入对应的类型,个数的参数值(无参/有参)。

·如果被调用的方法名前面时void,说明方法时没有结果返回,那么调用时,调用语句只能单独加    分号构成语句

·如果被调用的方法名前面不是void 说明方法是有结果返回的,那么调用时,就可以用变量来接受这个返回值,也可以直接输出这个返回值。

二,方法的特点

·方法不调用不执行

·方法调用1次执行1次

·main方法时java程序的入口

三,方法的调用过程分析

JVM的运行时内存:
·方法区(原空间)。用来存储加载的类型信息,即类型的定义信息,包括方法的定义信息。

·java虚拟机栈:用来存储“正在”调用的方法的局部变量信息。

·本地方法栈:用来存储“正在”调用的底层的C/C++的本地方法。

·堆:用来存储“new”出来的对象的信息,包括数组对象。

·程序计数器:先不讨论,和多线程有关。

四,方法的参数传递机制(面试题)

参数类型是基本数据类型时,实参给形参赋完值之后,它们就完全没有关系了,无论怎么修改,和实参都无关。

五,参数类型时引用数据类型

java中的引用数据类型:

·类(class)

·数组(【】)

·接口

·枚举

·注解

·记录

参数是引用数据类型(数组等),形参对元素的修改,相当于实参对元素的修改,因为此时形参和实参指向了同一个数组对象(数组也是对象)

如果形参重新newl,接下来的操作和实参无关了。

六,方法的重载

在同一个类中或父子类中,出现了方法名相同,形参列表不同(形参个数,数据类型,)和形参名无关的两个或多个方法,这种现象称为方法的重载(Overload)。注意:方法的重载和返回值类型无关。

1方法重载后匹配的原则

·先找最匹配的

实参的个数和类型与形参的个数和类型一致

·找可以兼容的

当没有最匹配的,可以找兼容的。

先找最匹配的,如果有最匹配的就不看其他的了。

如果及找不到最匹配的,也找不到可以兼容的,单兼容程度相同的方法只能1个。

换句话来说找不到兼容的,或者找到多个相同兼容的方法都会报错。


七,可变参数

参数的个数可变

语法格式

(数据类型...参数名)

(数据类型 参数名1,数据类型 参数名2,数据类型...参数名)

1.可变参数的特点和要求

·一个方法最多只能声明一个可变参数

·可变参数只能是参数裂变的最后一个参数

·可变参数的形参可以当初数组使用

·可变参数的实参可以是0-n个元素,或对应类型的数组对象

·如果多个方法都包含可变参数的话,可能会出现同时匹配的情况

八 .方法的递归调用


方法的递归调用:一个方法出现自己调用自己的情况,就成为递归调用。

注意:方法的递归如果没有调整好,会出现StackOverError。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值