java中包的理解

  • java之所以引入包的概念就是为了把类名的命名空间限制在包以内,所以在一个包中不能有同名类
  • 通过import语句不仅能定位类,同时也会把类的命名空间引入
  • 每个.java文件之所以只能有一个和文件名同名的public类,主要原因如下:.java文件只向包外开放一个类,也就是里面只能有一个public类,如果这个类和文件名同名,则我们可以只看.java文件的文件名就知道其为我们开放的public类,这样就可以在.java文件被编译成.class文件时,不知道类的内容就可以很容易地使用类。反过来讲,如果.java文件为包外开放很多类,而文件名又无法表征这些类名,则在导入类的时候很容易出现命名冲突
时间: 2024-11-06 03:50:37

java中包的理解的相关文章

畅销书对Java中Iterator的理解误区

声明:本博客为原创博客,未经允许,不得转载!原文链接为http://blog.csdn.net/bettarwang/article/details/28110615 最近放假,闲来无事,便翻看以前看过的一些书,竟然发现有些书本(甚至是一些畅销书)对Java中Iterator有很大的误解,比如某畅销书在Collection那一章有这么一句话:"当使用Iterator对集合元素进行迭代时,Iterator并不是把集合元素本身传给了迭代变量,而是把集合元素的值传给了迭代变量,所以修改迭代变量的值对集

java中包容易出现的错误及权限问题

/* 3,权限在不同地方的体现: public protected default private 同一类中: ok ok ok ok 同一包中: ok ok ok 子类中: ok ok 不同包中: ok 在同一包中子类中是可以访问父类中默认权限(default)的方法,但是在不同包中不行! 在不同包中如果子类继承了父类,那么子类就可以访问父类中的protected方法! */ //import mytest.*; /* package mytest; public class DemoA{ p

java中包和内部类

包(package):包的命名:package cn.itcatst.chinamobile--------cn.公司域名.项目名称.模块名称 java中包的声明要使用package,并且以分号结束,必须还需要放在源代码的第一行 在编译时自动创建包:javac -d . 类名.java (. 表示当前目录) 运行时需要这样:java 包名.类名 (类的全称是:包名.类名) 了解:java中常用的包 1.java.lang 包含一些Java语言的核心类,如String.Math.Integer.S

转:java中包、类、方法、属性、常量的命名规则

必须用英文,不要用汉语拼音 1:包(package):用于将完成不同功能的类分门别类,放在不同的目录(包)下,包的命名规则:将公司域名反转作为包名.比如www.sohu.com 对于包名:每个字母都需要小写.比如:com.sohu.test;该包下的Test类的全名是:com.sohu.Test.java . 如果定义类的时候没有使用package,那么java就认为我们所定义的类位于默认包里面(default package). 2:类:首字母大写,如果一个类由多个单词构成,那么每个单词的首字

谈谈我对Java中CallBack的理解

谈谈我对Java中CallBack的理解 http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallBack是回调的意思,熟悉Windows编程的人对"回调函数"这四个字一定不会陌生,但是Java程序员对它可能就不太了解了."回调函数"或者"回调方法"是软件设计与开发中一个非常重要的概念,掌握"回调函数"的思想对程序员来说(不管用哪种语言)

沉淀再出发:关于java中的AQS理解

沉淀再出发:关于java中的AQS理解 一.前言 在java中有很多锁结构都继承自AQS(AbstractQueuedSynchronizer)这个抽象类如果我们仔细了解可以发现AQS的作用是非常大的,但是AQS的底层其实也是使用了大量的CAS,因此我们可以看到CAS的重要性了,但是CAS也是有缺陷的,但是在大部分使用的情况下,我们往往忽略了这种缺陷. 二.AQS的认识 2.1.AQS的基本概念 AQS(AbstractQueuedSynchronizer)就是抽象的队列式的同步器,AQS定义了

Java中String的理解

Java中String的理解 最近在读String的源码,看了些String的文章,自己对String作了下总结记录下来. 1.String为什么是不可变的? String是final类,不可继承,其方法也不可被覆盖,避免从子类操纵父类属性:String的值保存在private final char[]数组中,本质是一个字符数组,私有则外部不可访问和修改,final引用则引用(或说引用的值)不变.引用可以简单地认为是堆上对象的首地址.String内部的private int hash,缓存has

java中包命名常见规则

做java的都知道java的包.类.接口.枚举.方法.常量.变量等等模型都有一套约定的命名规则! 学习每一种语言都应该学习对应语法和命名规则,以保持一个良好的编码风格.一来显示自己的专业.二来方便阅读和检查,快速供其他人参考,尽快理解项目代码结构! 今天首先谈谈一些常用的java package命名规则,以后有时间再写写java其他的一些规范! 首先我们该知道的是,java的包名都是由小写单词组成的,类名的首字母都是大写,也就是我们常用的驼峰写法,包路径一般都是对系统模板的定义与归类.这样看了包

java 中包的概念,常量,静态与继承

一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包: import 包名.*; import 包名.类名; 例如:import com.itnba.maya.zy.*; 注意:import不要放在package的上面上 package com.itnba.maya.zy; import com.itnba.maya.zyy.*; //从别的包里引用