Java基础

本文深入探讨了Java中基本类型与对象类型的参数传递机制,包括值传递与引用传递的区别,以及不可变类如String的特殊行为。同时,文章详细解释了运行时异常与检查异常的异同,以及Java编译器对异常处理的要求。
摘要由CSDN通过智能技术生成

【面试】请问在java语言中以基本类型或者对象类型为实参时的本质区别(5分)

在调用函数时,会给参数赋一个临时名称用于函数内部,这个名称(参数名)叫做形参,实际传入方法的参数,叫实参。
实参的作用域在方法外,形参的作用域在方法内。

基本类型和对象在参数传递的过程中不同的形式:
1(对于基本类型,传递的时候,将实参值复制,方法内获得的形参与实参没有关系,只是值相同)值传递,在方法中修改形参不影响实参;2(对于对象,传递的时候,将实参引用复制,形参与实参引用相同,指向的是同一个对象)引用传递,在方法中修改形参会影响实参;3例外:对于类似String这种的不变类,仍然是引用传递,形参和实参相同。但修改时是创建了一个新对象赋给形参,这当然不会影响实参。
参考链接

运行时异常与一般异常有何异同?Java编译器对代码的异常捕获有什么要求?

除了Error外,异常分为运行时异常和检查异常,运行时异常不要求程序员必须进行处理;而一般异常如检查异常必须进行捕捉或抛出处理操作。

Java编译器对代码的异常捕获要求:有异常正确处理姿势应该是捕捉。运行异常如果throws,系统会一直往上抛,单线程由main抛后退出整个程序;多线程由Thread.run()抛后退出这个线程。运行时异常可以不捕捉,但是出现控制台抛出运行时异常,要么线程终止,要么主程序终止。如果不想终止,必须捕获所有的运行异常,不让这个异常处理线程退出。如队列里出现异常数据,应把异常数据舍弃,然后记录,而不应让异常数据影响下面对正常数据的影响。
参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值