JAVA基础6-类中的方法

========================================================================

方法的重载


  1. 概念:在同一个类中,允许存在一个或一个以上的同名方法,只要他们的参数个数或参数类型不同即可

  2. 跟方法的权限修饰符,返回值类型,形参变量名,方法体都没关系

  3. 对象调用时,判断指定方法

  • 方法名

  • 参数列表

  1. 示例:

public class test4 {

public static void main(String[] args) {

Add sum1=new Add();

System.out.println(sum1.add(1,1));

//2

System.out.println(sum1.add(1,“1”));

//11

}

}

class Add{

public int add(int i,int j){

return i + j;

}

public String add(int i,String j){

return i + j;

}

//(参数列表不同)

}

可变形参的方法


  1. JDK 5.0新增方法

  2. 格式(数据类型 … 变量名)

  3. 当可变形参方法与确定形参方法重名时,会优先调用确定形参方法

  4. 可变形参必须声明在方法的末尾

  5. 在方法中只能有一个可变形参

  6. 示例:

public class test4 {

public static void main(String[] args) {

Variable a=new Variable();

a.show();

//可变形参

a.show(“hello”);

//可变形参hello

a.show(“hello”,“world”);

//可变形参helloworld

}

}

class Variable{

public void show(String … i){

System.out.println(“可变形参”);

for (int j=0;j<arr.length;j++){

System.out.print(arr[j]);

}

}

}

  1. 变量的赋值
  • 如果变量赋值是基本数据类型,就是把值复制一份给他

  • 如果变量赋值是引用数据类型,就是把保存的数据的地址赋给他

  1. 形参的赋值与变量赋值一致

方法参数的值传递机制


  1. 参数是基本数据类型,那么就是把真实存储数据值传给形参

public class test5 {

public static void main(String[] args) {

int m=10;

int n=20;

test5 a=new test5();

a.exchange(m,n);

System.out.println(“交换后” + m + n);

//1020 可以发现并没有交换成功

}

public void exchange(int i,int j){

int temp=i;

i=j;

j=temp;

}

}

可以发现调用方法后交换失败,这是因为传参时是把真是的真实存储的值传了过去,虽然传过去的值交换了,但对于main中的数据,没有影响,还是之前的值

2. 如果参数是引用数据类型,就是把保存数据的地址赋给了形参

//上面交换正确写法

public class Test5 {

public static void main(String[] args) {

Num num=new Num();

num.m=10;

num.n=20;

Test5 a=new Test5();

a.exchange(num);

System.out.println(“交换后” + num.m + num.n);

//2010

}

public void exchange(Num num){

int temp=num.m;

num.m=num.n;

num.n=temp;

}

}

class Num{

int m;

int n;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值