您的位置:首页 > 编程语言 > Java开发

java基础之关键字二( package、 class、import )和( static、fina ) 和(public、protected、private)

2007-06-05 01:33 387 查看
(五)包相关

class:用class关键字创建新的类
,例如:
class AClassName
{
Class body goes here
}
修饰class的词有public,abstract和final,其中abstract和final不能同时修饰class。内部类还可以用private或protected来修饰class。可以在类中设置两种类型的元素:字段和方法,统称为类的成员。类、源文件以及编译后文件:一个java源代码文件(通常被称为编译单元)内可以有一个且只能有一个public类,该类的名称必须与文件的名称相同(包括大小写,但不包括文件的后缀名:.java)。当编译一个.java文件时,在.java文件中的每个类都会有一个跟类名相同的.class输出文件。
虽然不是很常用,但编译单元内完全没有public类也是可能的,在这种情况下可以随意为文件命名。

package:为了唯一标识每个类并分组,java使用了package的概念。同时,将逻辑上相关的类放在同一个包中,可以使程序结构更为清楚。你要做的就是在java文件开头加一行

package mypackage ;

注意package 语句必须是文件中的第一行非注释的程序代码。
按照惯例,package名称的第一部分为类创建者的Internet域名的倒序,这样有利于包名的唯一性。
无论何时创建包,在指定包的名称的同时隐含的指定了目录结构。
注意包没有嵌套或包含关系,a包和a.b包对java命令来说是并列的两个包。

import: 用import关键字导入程序库,使之成为可用的单元。
java.lang包中的类是默认导入的。
在一个类中使用其他包的类时可以用全称来指定,如java.util.ArrayList(这样就不用import语句了),也可以仅指定为ArrayList(缘于import)。

******************************************************************

(二)类、方法和变量修饰符

static:用来修饰字段和方法。
通常情况下,我们通过创建类的对象来访问其字段和方法,而将字段或方法声明为static意味着这个字段或方法作为整个类而不是类的某个特定对象而存在,可以通过类名直接引用它们。
一个static字段对每个类来说都只有一份存储空间,而非static字段则是对每个对象有一份存储空间。
static方法的一个重要用法就是不用创建对象而通过类直接引用它。
通俗说法:
1。如果不加static修饰的成员是对象成员,也就是归每个对象所有的。
2。加static修饰的成员是类成员,就是可以由一个类直接调用,为所有对象共有的

final:用来修饰字段、方法和类。
final修饰字段。对于基本类型,final使数值恒定不变,而对于对象引用,final使引用恒定不变,一旦引用被初始化指向一个对象,就无法把它改为指向另一个对象,然而,对象其本身是可以被修改的。一个既是static又是final的字段只占据一段不能改变的存储空间。带有恒定初始值(即,编译时常量)的static final基本类型全用大写字母命名,并且字与字之间用下划线隔开。
1. 空白final是指声明为final但又未给定初值的字段,这个字段在运行时初始化,并在以后保持恒定不变。final参数意味着你无法在方法中更改参数引用所指向的对象,你可以引用参数,但无法改变它。
2.final修饰方法。使用final方法的原因有两个,第一个原因是把方法锁定,以防任何继承类来修改它的含义。这个出于设计的考虑:想要保证在继承中使方法行为保持不变,并且不会被覆盖。使用final方法的第二个原因是效率。如果将一个方法指定为final,就是同意编译器将针对改方法的所有调用都转为内嵌调用,而编译器会根据开销情况明智的抉择是否对final方法执行内嵌调用。类中的所有private方法都隐式的指定为final的。

3.final修饰类。将某个类定义为final表明该类不能被继承。
final类的字段可以根据个人的意愿选择是或不是final,不论类是否定义为final,相同的规则都适用与final字段。
而final类的所有方法都隐式的指定为final的。

******************************************************************

(一)访问控制

public、protected和private做为java访问权限修饰词而使用。

首先要明白,java中的每个定义(定义类、字段和方法)都有特定的访问权限。如果不加修饰词,则默认为包访问权限,即包内的类对其有访问权限  

1.public 所有类都可访问。

2.protected 继承访问权限。基类通过protected把访问权限赋予派生类而不是所有类,另外,protected也提供包访问权限,也就是说,相同包内的其他类可以访问protected元素。

3.private 除了包含这个成员的类外,其他任何类都无法访问这个成员。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: