今天无意想到一个无聊的问题,java类重名会怎样?我们知道,一般的变量重名会报错,局部变量与全局变量重名局部优先,那么类重名会怎样?其实也不会怎样,都不在一个文件里= =! 。但是导入的时候就会有问题了。网上搜索到了一个帖子刚好解答了我的问题。简单概括如下: (其实就是ctrl+c--> ctrl+v --> del XoX)来源网址:http://topic.csdn.net/t/20060305/17/4593938.html
代码:(我先放入两个文件中)
Vector.java
class Vector {
public Vector() {
System.out.println( "Class Vector ");
}
}
Exercise3.java
import java.util.Vector;
public class Exercise3 {
public static void main(String[] args) {
Vector v = new Vector();
}
}
这个时候应该来说 java.util.Vector 和自己定义的Vector重名了,此时java用的是 java.util.Vector 。因为导入语句是 import java.util.Vector; 这是明确导入,优先级更高。如果我改成:import java.util.*;则会使用自己定义的Vector,因为 .* 是个“随需导入”,他的优先级最低,所以使用的就是自己的Vector。
如果我放到一个文件里
Exercise3.java
import java.util.*;
class Vector {
Vector() {
System.out.println( "Class Vector ");
}
}
public class Exercise3 {
public static void main(String[] args) {
Vector v = new Vector();
}
}
此时根据“随需导入”,会使用自己定义的Vector。若改为 import java.util.Vector; 使用了明确的导入,那么他和自己写的 Vector 就是优先级相等了,编译器无法判断该用哪个,就会报错。
COPY完毕
分享到:
相关推荐
36为什么临时表可以重名?.pptx
python数据分析与可视化-09-添加学员之重名提示.ev4.zip
Python关于import的实验(9) 讨论当导入的模块和子包重名时的特殊情况 配套代码 使用import语句导入时,当模块(.py文件)和子包(文件夹)重名时,如果这个子包内部含有__init__.py文件时,那么会优先导入子包,而与之重名的...
window10 安装Git报 fatal:open /dev/null or dup failed: No such file or directory
python 零基础学习篇
如何找出硬盘上的重复文件,重名文件,重名目录们.zip
java选择题-变量重名用哪个关键字.doc
fckeditor-java-core-2.4.jar 中文乱码 文件重名 中文文件夹
EXCEL身份证号码计算出生年月年龄及性别和重名筛选收集.pdf
UUID适合长传使用,有效避免重名问题.还可以自己定义其生成的文件名的类型
java 如何访问同名的方法或变量 java 如何访问同名的方法或变量
基于复杂网络的重名处理方法,徐超群,,本文提出了一种适用于中文文献索引数据的实体解析方法。区别于新近的属性 链接结构的聚类方法,本方依据实际问题的特点采用了先��
****大 学 学 生 实 验 报 告 实验课程名称 J2EE及JAVA程序设计 开课实验室 DS1501 学 院 软件学院 年级 2012 专业班 1 班 学 生 姓 名 学 号 开 课 时 间 2013 至 2014 学年第 2 学期 "总 成 绩 " " "教师签名 " " ...
使用winform窗体做的抽签系统,带图片读取和文字显示,抽完后不会重复显示,分享给大家,可以拿去直接用,放入图片即可
开机提示网络上有重名的解决方法.docx
省地市拼音
主要为大家详细介绍了java实现动态上传多个文件,并解决文件重名问题的方法,感兴趣的小伙伴们可以参考一下
一种基于异质信息网络的学术文献作者重名消歧方法.docx