快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

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 ?Cd . 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引入其它包中的类和接口






返回类别: 教程
上一教程: ==和equals是很有区别的
下一教程: java小技巧

您可以阅读与"Java入门笔记4_访问控制和包"相关的教程:
· Java入门笔记6_线程
· 《Java 手机/PDA 程序设计入门》读书笔记8--LCDAUI低级API之 线程 时间控制
· Java入门笔记7_Stream
· Java入门笔记9_Socket
· Java入门笔记5_非常
    微笑服务 优质保证 索取样品