码迷,mamicode.com
首页 > 其他好文 > 详细

包导入

时间:2018-01-30 22:59:53      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:编译   名称   under   lin   bsp   遇到   text   str   频繁   

与包访问的相关规则

  1. 每个源代码文件只能有一个公有类,并且文件名必须与该公有类名称相同

  2. package语句必须在源代码的第一行,并且一个源文件只能有一句

  3. 导入语句位于package语句和类声明之前

  4. 导入的包应用于源代码文件的所有类

  5. 每个源代码只能有一个package语句

  6. 导入的包必须使用全称名称

  7. 导入语句不会引起性能损失,也不会增加代码长度

  8. 导入语句可以与全称类名共存

  相同名的类导入

  当有两个相同名字的类导入的时候,例如:

    import com.yuan.Fruit;

    import com.yuan.xing.Fruit;

 

  这样如果在new的时候Fruit f1 = new Fruit();这样使得编译器不知道这个Fruit是哪个Fruit。

  有两种解决方法。

    1. 使用一条import语句,导入那个更频繁使用的类。另一个使用时用全名称导入。

    2. 在整个代码中使用全称名称。

 

使用通配符

  当使用 “*”进行导入时候,则会把包中的所有类都导入到源文件中,使得源文件可以使用包中所有的类,例如import java.awt.*;这样就把awt中所有的类都导入到源文件中,使得源文件可以使用java.awt包中所有的类。

 

  当有两个相同的类,比如使用java.awt.List和java.util.List如果使用java.awt.*,和java.util.*;这样编译就会报错,使得编译器不知道要使用哪个List,所以这样必须使用全名称构造对象,java.awt.List  list1 = new java.awt.List();

 

格式化main()方法

  主方法方法名是固定的都是public static void main(String[] args){}(除了String后的变量名),没有正确的main()方法是一个运行时错误,而不是编译时错误。如果没有main()方法,语法正确编译将不会报错。

  当拥有任意多个命名为main()的方法(或者一个都没有),没有一个方法与JVM查找的main()方法相匹配,则将不能使用该类的名称调用java来运行该类。(但是仍然能实例化该类并调用其他方法,main方法只是用与启动虚拟机和引导程序)

  当具有合法的、非静态的main()方法的类只能通过编译、其他代码调用方法,但是如果遇到该类调用JVM时,这个非静态方法将会在运行时出现错误。

 

 

 

包导入

标签:编译   名称   under   lin   bsp   遇到   text   str   频繁   

原文地址:https://www.cnblogs.com/weixingyuan/p/8387366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!