Java笔记(三)

一、package和classpath

假如cmd的当前目录是D:\javalearn,当前工作目录也是此目录:

1.建立HelloWorld.java

package com.edicypages.ackerman;
public class HelloWorld{
public static void main(String[] args){
System.out.println("hello world!");
}
}

则cmd下输入"javac -d . HelloWorld.java"会在当前目录下自动生成“com\edicypages\ackerman”目录结构,输入"java com.edicypages.ackerman.HelloWorld"运行此程序。

2.使用上面建立的类

在任意目录(可能不是D:\javalearn)下建立Test.java

import com.edicypages.ackerman.HelloWorld;
public class Test{
public static void main(String[] args){
HelloWorld hw=new HelloWorld();
}
}

cmd转到Test.java所在的目录,javac编译,此时可能出错,这是因为编译器未能搜索到包(com.edicypages.ackerman)。在环境变量中设置CLASSPATH:D:\javalearn,则此时可成功编译。

二、访问权限控制

访问权限控制的等级,从最大权限到最小权限一次为:public、protected、包访问权限(没有关键词)和private。

1.包(package)

包内含有一组类,它们在单一的名字空间之下被组织在了一起。当编写一个Java源代码文件时,此文件通常被称为编译单元,每个编译单元只能有一个public类,和文件名相同。当编译一个Java文件时,在Java文件中的每一个类都会有一个输出文件,而该输出文件的名称和Java文件中的每个类的名称相同,只是多了一个后缀名.class。这些类包括public类和非public类(有"$"标记)。

2.Java解释器的运行过程:

首先找出环境变量CLASSPATH,CLASSPATH包含一个或多个目录,用作查找.class文件的根目录。从根目录开始,解释器获取包的名称并将每个句点替换成反斜杠。
但在使用JAR文件时,必须在类路径中将JAR文件的实际名称写清楚,而不仅是指明它所在位置的目录。

3.Java访问权限修饰词:

(1)包访问权限
如果没有指定权限修饰词,默认为包访问权限。
(2)public:接口访问权限
意味着public之后紧跟的成员声明自己对每个人都是可用的。
(3)private
如果将某个类的构造函数设为私有的,就可以组织别人直接访问某个特定的构造函数,进而可以控制如何创建对象(比如可以通过类的静态成员函数)。
(4)protected:继承访问权限
若果创建了一个新包,并自另一个包中继承类,那么可以访问的成员就是源包的public成员和protected成员。protected成员也提供包访问权限,也就是说相同包内的其他类可以直接访问protected元素。

你可能感兴趣的:(java,工作)