JAVA值传递和引用传递

来源:互联网 发布:世达15件网络寻线器 编辑:程序博客网 时间:2024/06/06 20:13

一、结论

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不改变参数的类型。

0 0