JAVA基础篇之java函数方法以及参数传递,具体有方法的重载和覆载、值的传递。

今天主要讲的是java中方法以及函数的参数的传递,具体有方法的重载和覆载、值的传递。

一、方法

方法,也称为函数,是一个独立的实现功能的代码块,定义在类的结构体中【也就是类中定义】。

  1. 作用:完成功能,数据的处理!方法可以拿来反复使用。每次使用都是独立的

例如:main主方法

结构:

权限修饰符  静态修饰符   返回类型   方法名(参数){

功能代码块

(void 可以不写)Return返回值

}

public static void main(String[] args){

}

 

  1. 注意事项:
  1. 对于方法的使用者而言,无需关心方法内部的实现
  2. 同一个类中:静态方法不能调用非静态的方法
  3. 同一个类中:非静态方法可以调用静态方法[ 自己读 测试]
  4. 在类中定义的方法名和参数不能同时相同,不然就报错:该类已经定义了这个方法(在这有些人是方法签名)
  5. 权限修饰符和静态修饰符可以不写,但其他的必须写【默认:权限修饰符:default  非静态】

(静态修饰符、权限修饰符不理解的话,建议百度一下)

  1. 严格按照返回值类型进行编写代码

(void 没有返回值【注:抽象类、接口都是没有返回值的】)

  • 参数

方法中定义的参数:参数类型  参数名称

①参数类型:

基础数据类型(8) +  引用数据类型(类/接口/枚举。。。)

(注:参数类型可以拿来做返回值类型)

基础数据类型:int char  byte short   boolean  float   double long

引用数据类型:如String、自定义类... 等等

 ②参数名称:

除了不能用数字、非法字符,随便取

(建议:见名知意(以英文来,除首字母后续的单词首字母大写)

【因为可以百度翻译】)

参数是一个局部变量,可以在方法的功能代码块中调用和赋值,但是不能在类外使用

③方法参数的传递

值传递

1.方法的参数传递

使用一个方法的时候,传递数据

1.基本数据类型:传递的是值的本身

2.引用数据类型:传递的是一个引用地址

值引用

1.值引用:

一个方法,传递引用类型数据

例如:

int[] arr = new int[];

使用如下方法

print(arr);//传递的是arr持有的该数组的引用地址

public static void print(int[] arr){

}

接下来:

  • JVM内存分析:

 

从上面图中可以看出:在我们定义的变量或者参数中

栈:存放变量名(参数名也存放在这里),是一小部分缓冲内存区,引用数据类型的变量,存放的是地址值【比如int  i  =  10 ;   这里放的是 i 】

堆:存放实际意义的值【这里放的是 10 】

在使用完了以后,计算机内存就会释放掉

 

  • 重载和覆写
      1. 重载:除方法名相同,参数不同外,其他都可以相同也可以不同

在实现某一个功能时,拥有多种情况的实现方式,可以通过方法重载进行实现

      1. 覆写:在自定义子类中,父类不满足子类的需求或者接口继承的方法,是可以重新写这个方法的,要求方法名、参数、权限修饰符都要一致(除功能代码外都一致)

@Override : 验证是否覆写  (自动覆写方法的时候自动生成)

 

比如:

Class A{//重载例子

Public void B(int a , int b){

功能代码

}

Public void B(int a , String b){

功能代码

}

 

}

Class C extends A{//覆写A中的B 方法

Public void B(int a , int b){

功能代码

}

}

使用时:C的对象调用下面的方法时

B(4,6);//调用的自身的B方法

B(4,“w”);//调用的父类的A 的B的方法(标红的)

注:当调用时,先从对象的类(如C的对象去C类)中去找参数和方法去找是哪个方法,如果没有,看父类有没有,没有报错,有就调用;当都有的时候,调用的是C的

【仔细看参数类型,参数名不一样是可以的】

 

讲到这里,就差不多了,继续往下走。。。。。

                                                                                                                                                                  (有问题可以评论区

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值