zoukankan      html  css  js  c++  java
  • linkin大话面向对象--包和导入

    我们现在的代码都扔在一个文件夹里面,比如以后我们做项目,是不是有可能有非常非常多的代码,那我就希望把不同功能和模块的类方便管理,放到不同的文件夹下,引出包概念。

    什么是包,就一个文件目录,为了处理重名问题,解决类的命名冲突,类文件管理等问题。包名的书写:全用小写字母,避免使用与系统发生冲突的名字,如不能定义java.lang、java.swing等。java规定,位于包中的类,在文件系统中也必须有与包名层次相同的目录结构。很多初学者以为只要把生成的class文件放在某个目录下,这个目录名就成了这个类的包名了。这是错的:java的包机制需要2方面保证:源文件里使用package语句指定包名,class文件必须放在对应的路径下。现在package确实解决了类的命名冲突,但是问题来了:如果需要使用不同包的其他类时,总是要写该类的全名,这是一件很繁琐的事情。这个时候import关键字派上用场了:import是导入类,我觉得这样描述是有问题的,我觉得import是找类,而不是导入类。


    • 导入单个类和导入指定包下全部类:
    package linkin;
    import java.util.Date; //手工导入需要使用的类
    import java.util.*; //由JVM自动加载需要使用的类
    二者的性能是一样的。


    • package的引入,提供类的多层命名空间,从而能更好的管理代码结构,也能避免类名冲突。
    编译:javac -d . HelloWorld.java
    运行:java       cn.linkin.cd.erp.domain
    package必须写在文件的开头,必须写在import和类声明之前。java允许将一组功能相同的类放在同一个package下。企业开发的命名规则:域名反过来写,例如:cn.linkin.cd.erp.domain


    • java5的新特性:
    import static语句导入一个类中的某个静态字段、方法或所有需要使用到的静态字段、方法。一句话来归纳import和import的作用:使用import可以忽略写包名,而使用import static则可以连类名都省略。

    import static java.lang.Math.PI;
    import static java.lang.Math.*; 


    • 访问带有package的类:
    导入类,更好的翻译是“寻找”类:import pkg.subpkg.className
    寻找某个包下被使用到的全部类:import pkg.sunpkg.*;
    注意了:* 只能表示类名,不能表示包名。
    • 同一个类中出现多个相同的类名处理:
    java.util.Date  和  java.sql.Date
    类的全限定名:该类的包名.子包名....类名
    String类的权限定名: java.lang.String
    JVM会自动寻找java.lang下的所有被使用到的类:
    所以不需要我们去手工寻找;但JVM不能导入java.lang子包下的类

    • 下面的几个包是java中常用包:
    java.lang  : 语言核心类,系统自动导入,只要搞java,天天都会用这个包。
    java.util  : java 工具类、集合框架类和接口,以后要学习时间,日历,集合等就得用到这个包。
    java.net   : 网络编程接口和类,以后要写和网络相关的应用就要用这个包。
    java.io    : 流的接口和类,以后要写读写文件或者图片等这些就要用这个包。
    java.text  : java格式化相关类,以后我们要做软件国际化就要用这个
    java.sql   : jdbc相关接口和类 ,以后操作java连接数据库就要使用到这个包
    java.awt   : 抽象窗口工具集相关接口和类,搞一个类似于QQ一样的软件,界面就得使用这个包下的类;

    java.swing :图形用户界面相关接口和类(可跨平台)


    以上这些包里面,lang,util下面的类要多看看,多看看jdk了解下其中的API,我以前的老大就讲过的,一个程序员的功底强不强,单纯的问他jdk里面的API就可以很清楚的了解。其实越底层的东西越复杂,看这些源码,可以让我们很好的理解一些设计和规范,望共勉。



  • 相关阅读:
    HTML5+php图片自由裁剪上传功能
    一个日期时间显示框的美化风格示例
    PHP+jquery 瀑布流+LightBox图片盒子特效
    类型
    异常语句
    穷举
    练习
    累加求和
    猜拳游戏(三局两胜)
    正则表达式
  • 原文地址:https://www.cnblogs.com/LinkinPark/p/5233168.html
Copyright © 2011-2022 走看看