爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
Java教程
java 求解释,该怎么处理
java 求解释,该怎么处理
日期:2014-05-20 浏览次数:20860 次
java 求解释
public class Test {
public void test(String str){
System.out.println("string");
}
public void test(Object o){
System.out.println("object");
}
public static void main(String[] args) {
Test test=new Test();
test.test(null);
}
}
判断一下会输出什么? 如果你知道为什么是这个结果,求解释,呵呵。。。。。。。。
------解决方案--------------------
string,null是string类型的
------解决方案--------------------
string。
string类型属于object类型,string类型更准确。
null是string类型,在java中会优先执行更符合传入参数类型的那个方法,所以会执行这个方法:test(String str)。
如果没有public void test(String str)这个方法,程序也可以执行,此时返回值为 object。
------解决方案--------------------
个人理解:
null不应该说是某个类型的。
你可以Object o=null;也可以String s=null;还可以Integer i=null;
所有的引用类型都可以赋值为null。
编译器在匹配null到底调用哪个test的时候,如果子类类型能匹配上,就不在匹配父类,子类匹配不上才去匹配父类。(或者说总是匹配最精确的那一个)
所以如果你还有个方法:
public void test(Integer i){
System.out.println("Integer");
}
再去写test.test(null);就会报错,因为编译器不知道这个null跟谁匹配
------解决方案--------------------
引用:
string,null是string类型的
上一篇:idea怎么取消commit
下一篇: 怎的判断获取到的字符串是什么编码格式的
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
EXTJS grid修改后用户信息后,页面没有显示修改后的数据 ?
servlet中怎么写sql语句
关于static {getInstance();}的有关问题
JS代码为何不执行!求大神解释
从数据库表反转生成的hibernate映射文件hbm.xml中的comment注释是乱码,该如何解决
java实参的变量命名应该用什么参数阿?该怎么处理
哪位高手有jmf2.1的压缩包啊
[文件]线程在J2ME应用中的使用
新手available方法有关问题
推荐阅读
更多>
一个表单两个按钮怎么实现跳转两个不同的处理页面
简单的有关问题
客户端就一个图片的绝对地址,如何通过文件流远程下传到服务器去
整合ssh,使用hibernateTemplate如何确定增删改成功
用java实现接口程序(客户端接受数据后自动发送到服务器端, 然后服务器端自动接收),那位做过这方面的东西,可帮给个例子学习一下,谢谢
Struts2表达式校验器解决办法
maven工程导入eclipse有关问题
IO流中子类为什么要重新write(int c)方法才行?该如何处理
为何把EXT文件目录整个复制JavaWeb项目中个别文件夹会有红叉出现!解决思路
eclipse SVN 改文件名字,该怎么解决
jsp页面登录输入数据后,mysql的数据表不显示正常结果,该如何处理
关于JPA的实体,通用父类有关问题
请教达人byte数据类型,怎么正确赋值
hibernate更新mysql表,该怎么解决
小弟我是新手,请大家帮帮忙,谢谢
Struts2 上传文件解决方法
学习DAO设计方式需要哪些基础知识
回到的值是接口的实现为什么会通不过
为何.js文件在eclipse下写中文不能保存
J2EE开发用得至多的十种文件类型(按后缀名区分)排名