网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java技术与XML常见问题之JAXM.
.static方法是什么时候执行.
.J2EE应用服务器与JBuilder集成的.
.用NetBeans平台开发J2ME游戏实例.
.java中传值及引伸深度克隆的思考.
.应用Rational 工具简化基于J2EE的.
.我所认识的Apache.
.Jbuilder7与Weblogic7整合开发之.
.Java压缩文件/目录成ZIP包最新技.
.Spring Framework的公司理念.
.JAVA入门教程:数组.
.用finally做什么.
.Jini.
.一个字母频率分析计算小程序.
.Struts心得--DispatchAction使用.
.使用JDBC连接SYBASE的3种方法.
.一些面向对象的设计法则(4).
.深入探讨SQL Server 2000对XML的.
.关于Java的一些 工具,类库,框架..
.Sun 认证 Java 程序员(SCJP).

Java入门笔记4_访问控制和包

发表日期:2008-1-5



  1. Java中的访问控制
表1-1

可见/访问性
public
protected
package
private

在同一类中
yes
yes
yes
Yes

同一包中
yes
yes
yes
no

不同包中
yes
No
No
No

同一包的子类中
yes
yes
yes
No

不同包的子类中
Yes
Yes
No
No


说明:

(1) 在java中有public、protected、private三种显示的修饰符用于控制可见性,package不是显示的修饰符,它是隐含的,即假如在类、变量等前没加显示的可见性修饰符,那它就是package级别的。假如在类的定义中没有指定package,那么java会把它放在缺省包中,一般来说这个缺省的包就是当前目录。

(2) 在子类中的方法假如重载了父类的方法,那么该方法的可见级别应更底或者相同,如父类中的方法是public,那么子类中方法必须是public。

(3) 在java中,一般来说,变量成员最好是private,对它们的访问可以通过public的方法,在这些方法中可以做些控制以保证数据的一致性。这些方法名一般以get和set做为前缀。

2. 包
包名一般为小写,而类名的第一个字母一般为大写,这样在引用时,可以明显的分辨出包名和类名。假如在类的定义之前没有使用package定义包名,那么该类就属于缺省的包。

2.1 Hello Package
首先通过一个简单的package的定义来学习package的使用:

package testPackage;

public class Test

{

public static void main(String args[])

{

mNode node = new mNode();

node.print("hello");

}

}

说明:

(1) 使用package要害字指明类所在的包;

(2) package语句必须在文件的最前面;

(3) 编译时可使用javac –d . Test.java自动产生包需要目录;

(4) 可以使用java testPackage.Test来执行编译后的代码;

2.2 包的几个作用:
(1) 可以更好的组织类,包与文件夹类似,文件夹可以将不同的文件放在同一个文件夹中,而包也可以将不同的类文件放在同一包中;

(2) 减少类名的冲突问题,这也与文件夹类似,同一文件夹中的文件不能重名,不同文件中的文件可以重名,同一包中的类名不能重复,不同包中的类名可以重复;

(3) 对包中的类起了一定的保护作用,详见java的访问控制;

2.3 import的使用
(1) 直接引用指定的类,如import java.util.Vector;

(2) 引用一个包中的多个类,如import java.awt.*。更确切的说,它并不是引用java.awt中的所有类,而只引用定义为public的类,并且只引用被代码引用的类,所以这种引用方法并不会降低程序的性能;

(3) *号代替类名,在不能代替包名,如import java.awt.*,只引用java.awt下的类,而不引用java.awt下的包;

(4) import java.awt.F*,这种使用方法是错误的;

(5) import语句在所有类定义之前,在package定义之后;

(6) import只告诉编译器及解释器哪里可以找到类、变量、方法的定义,而并没有将这些定义引入代码中;

2.4 包中类的使用
有以下几种机制可以使用包中的类:

(1) 假如要使用的类是属于java.lang包的,那么可以直接使用类名来引用指定的类,而不需要加上包名,因为包java.lang不用显示使用import,它是缺省引入的;

(2) 假如要使用的类在其它包(java.lang除外)中,那么可以通过包名加上类名来引用该类,如java.awt.Font

(3) 对于经常要使用的类(该类在其它包中),那么最好使用import引用指定的包,如java.awt.*

(4) 假如import引入的不同的包中包含有相同的类名,那么这些类的使用必须加上包名

(5) 接口也可以属于某个包,也可以使用import引入其它包中的类和接口
上一篇:Java学习从入门到精通.书籍篇 人气:569
下一篇:Java入门笔记3_Datastructure 人气:683
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐