JAVA值传递和引用传递

一、结论

1. 基本类型都是值传递

2. 引用类型都是引用传递(基本类型的包装类除外,如String、Integer、Double等,由于它们是immutable(不可变)类型,实际也为值传递)



二、扩展

1.基本类型

char、byte、short、int、long、double、float、boolean


2.引用类型

类Class

数组Array

接口 Interface


三、突然想到的问题

1. public void method(int num)和public void method(Integer num)是否可以重载?

答:可以, 重载的标准是方法参数个数不同或者对应的参数类型不同。虽然Integer是int的包装类,但Integer.class不等于int.class

public class InegerTest {
	public static void main(String[] args){
		System.out.println(Integer.class.equals(int.class));
	}
}

//输出:false

2. public void method(Person person)和public void method(Woman woman)是否可以重载,Person是Woman的父类。

答:可以,道理同上

2. public void method(final Date date)和public void method(Date date)是否可以重载?

答:不可以,final仅使参数(引用变量)成为常量,但final不改变参数的类型。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值