`

java导入包重名的话....

阅读更多

今天无意想到一个无聊的问题,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完毕

分享到:
评论

相关推荐

    python数据分析与可视化-09-添加学员之重名提示.ev4.zip

    在本课程"Python数据分析与可视化-09-添加学员之重名提示"中,我们将深入探讨如何使用Python处理数据,并实现一个功能,当试图添加新学员时,如果名字已存在于数据库中,则会给出重名提示。这个过程涉及到几个关键的...

    测试包.zip 讨论当导入的模块和子包重名时的特殊情况

    Python关于import的实验(9) 讨论当导入的模块和子包重名时的特殊情况 配套代码 使用import语句导入时,当模块(.py文件)和子包(文件夹)重名时,如果这个子包内部含有__init__.py文件时,那么会优先导入子包,而与之重名的...

    36为什么临时表可以重名?.pptx

    标题和描述中的问题主要集中在为什么临时表可以重名以及其在实际应用中的作用。 首先,临时表可以重名的原因在于它们的命名机制。与常规的永久性表不同,临时表的名称不仅包含库名和表名,还会加上服务器ID和线程ID...

    window10专业版null文件怎么可能重名啊.zip

    在Windows 10专业版操作系统中,我们可能会遇到与Git相关的错误,比如“fatal: open /dev/null or dup failed: No such file or directory”。这个错误信息可能会让许多用户感到困惑,因为/dev/null在Unix-like系统...

    python 零基础学习篇Python基础语法1函数学员管理9 添加学员之重名提示 .mp4

    python 零基础学习篇

    fckeditor-java-core-2.4.jar 解决中文图片上传乱码问题

    fckeditor-java-core-2.4.jar 中文乱码 文件重名 中文文件夹

    java选择题-变量重名用哪个关键字.doc

    3. Java编译器`javac`用于将`.java`源文件转换成`.class`字节码文件,这些字节码文件可以在Java虚拟机(JVM)上运行。`java`命令则是用来执行`.class`文件。 4. 配置`PATH`环境变量是为了在任意目录下都能使用JVM和...

    如何找出硬盘上的重复文件,重名文件,重名目录们.zip

    本篇文章将详细讲解如何查找并处理硬盘上的重复文件、重名文件以及重名目录。 一、查找重复文件 1. 手动查找:尽管手动查找重复文件非常耗时,但在少量文件的情况下,可以通过比较文件大小和创建/修改日期来初步...

    UUID避免重名问题

    UUID适合长传使用,有效避免重名问题.还可以自己定义其生成的文件名的类型

    java 如何访问同名的方法或变量

    在Java编程语言中,处理同名的方法或变量是一项常见的挑战,尤其是在处理继承、包和类的层次结构时。为了理解如何有效地访问这些同名的成员,我们需要深入理解Java的命名规则、作用域、访问修饰符以及多态性。以下是...

    java-命名规范整理.docx

    Java 命名规范是指在 Java 编程语言中为变量、类、方法、包等命名的规则和约定。遵守良好的命名规范可以提高代码的可读性、易维护性和协作性。 包命名规范: * 包名全部小写 * 针对不同的项目类型,细分为个体项目...

    沿用了JavaServlet的所有功能.doc

    2. 在同一作用域内,变量名必须唯一,不能重名。 3. 变量名是区分大小写的,如`num1`和`Num1`被视为不同的变量。 在编写Java程序时,遵循良好的编程习惯,使用有意义的变量名,可以提高代码的可读性和可维护性。...

    基于Java的源码-belog博客程序(Java开源博客系统).zip

    【标题】"基于Java的源码-belog博客程序(Java开源博客系统)" 是一个使用Java编程语言开发的开源博客系统。这个系统的核心是利用Java的技术栈来构建一个完整的、功能丰富的博客平台,允许用户创建、编辑和发布文章,...

    JAVA中的文件上传.pdf

    1. **引入依赖**:首先,你需要在你的Java Web工程中引入SmartUpload库,通常是通过添加smartUpload.jar包到项目的类路径中。 2. **JSP页面设置**:在创建`index.jsp`页面时,必须确保表单的`enctype`属性设置为`...

    java学习(二).pdf

    - **this关键字**:用于区分当前对象的成员变量与方法参数或其他局部变量之间的重名问题。 - **构造方法**:用于初始化对象的方法,名称与类名相同。 - **API**:应用程序编程接口,提供了一系列预先定义好的函数或...

    java实现动态上传多个文件并解决文件重名问题

    总结来说,Java实现动态上传多个文件并解决文件重名问题,需要前端与后端的配合。前端通过HTML和JavaScript处理文件的选择和提交,而后端使用Servlet和Apache Commons库来接收和处理上传的文件,通过生成唯一文件名...

    java学习(三).pdf

    ### Java学习笔记(三)知识点总结 #### 静态关键字`static` 1. **静态内存图**:静态成员变量和静态方法存储在类的内存区域中,而非对象的堆内存中。这意味着无论创建多少个对象,静态成员或方法都只有一份拷贝。...

    winform点名系统不重名带图片.zip

    点名系统是一款基于WinForm开发的应用程序,它主要用于进行随机抽签活动,如课堂点名、活动抽奖等。WinForm是.NET Framework中的一个组件,它提供了丰富的用户界面元素和控件,使得开发者能够构建出具有图形化交互...

Global site tag (gtag.js) - Google Analytics