[2014-3-25]JAVA笔记_包、访问权限控制、jar命令、java命名规范
2014-03-25 23:45
453 查看
一、 包的概念及使用
1. package 是在使用多个类或接口时,为了避免名称重复而采用的一种措施,直接在程序中加入 package 关键字即可。
作用:用于将完成不同功能的类分门别类,放在不同的目录(包)下。
命名规则:将公司域名反转作为包名。www.sun.com, com.sun(包名), 对于包名:每个字母都需要小写。
【定义格式】
package 包名称。子包名称;
编译:javac -d 。 PackageDemo01.java
-d: 表示生成目录,生成的目录以package 的定义为准。
。:表示在当前所在的文件夹中生成。
执行: java org.sdd.demo08.PackageDemo01
2. 导入(import),将使用 package 分离的各个类导入回来,让编译器能够找到所需要的类。
注意:导入的是一个类,而不是一个包。 import aa.bb.*并不会导入 aa.bb.cc包下的类,这是需要写:import aa.bb.*; import aa.bb.cc.*;
【格式 类的导入】
import 包名称。子包名称。类名称;-> 手工导入所需要的类
import 包名称。子包名称。*;-> 由JVM 自动加载所需要的类
如果一个类声明为 public class,则文件名称必须与类名称一直,而且在一个类文件中只能有一个 public class, 而如果使用 class 声明一个类,则文件名称可以与类名称不一致,但是执行时必须执行生成的class 文件名称。除了这些之外,public class 和 class 还在包的访问上有所限制,如果一个类只在本包中访问,不需要被外包访问,则直接声明称 class 即可;而如果一个类需要被外包访问,则必须声明为
public class。
可以使用“*”方式由 JVM 根据需要自动加载所需的类,手动导入与使用*号导入性能是一样的。但是,如果在一个程序中同时导入了两个包的同名类,在使用时就必须明确地写出完整的“包。类名称”。
3. 静态导入
JDK 1.5之后提供了静态导入功能。如果一个类中的方法全部是使用 static 声明的静态方法,则在导入时就可以直接诶使用 import static 的方式导入。
【格式
静态导入】
import static包。类。*;
总结: 当需要使用的类与当前类不再同一个目录下才需要导入,如果两个类在同一目录下则不需要导入,直接使用即可。
4. 关于 package、import、class 的顺序问题:
a)首先需要定义包(package), 可选
b)接下来使用 import 进行导入, 可选
c)然后才是 class 或 interface 的定义。
二、 访问权限
Java中一共存在4中访问控制权限,即 private、default(默认)、protected、public。
(1) private: 私有访问权限。可以用在属性的定义、方法的声明上。被 private 所修饰的属性和方法只能在该类内部使用。
(2) default: 默认访问权限。在类内部以及相同包下面的类所使用。
(3) protected: 受保护的。被 protected 所修饰的属性和方法可以在类内部、相同包、及该类的子类所使用(可以被子类所继承下来使用,而不是在子类里面定义方法去访问。或者说它可以被子类继承下来)。
(4) public:公共访问权限。一个类中的成员使用了 public 访问权限,就可以在所有类中被访问, 不管是否在同一个包中。
例子:protected 所修改的可以被子类继承下来使用。
package com.test.base;
public class ProtectedTest extends Parent {
public void output(){
System.out.println(age); //直接使用被继承下来的方法或属性
print();
}
public static void main(String[] args) {
ProtectedTest pt = new ProtectedTest();
pt.output();
}
}
class Parent{
protected int age = 10;
protected void print(){
System.out.println("This is parent");
}
}
三、jar命令的使用
作用: 将 *。class 文件 压缩成一个文件。jar(Java Archive File)
查看:JDK中的bin目录 jar.exe,在命令行输入 jar 可以查看此命令的提示界面。
如何使用jar文件:得到一个 jar 文件后,可以通过设置 classpath 的方式在系统中注册好此 jar 文件,以供程序使用。设置命令: SET CLASSPATH=.;F:\text\my.jar。从当前文件中查找,或指定路径查找。
jar 命令中的主要参数:
· C: 创建新的文档。
· V: 生成详细的输出信息。
· F: 指定存档的文件名。
查看 jar 包中的全部内容: “jar -tvf 文件名称”。
解压缩 jar 包中的文件:“jar-xf 文件名称”即可。
四、 Java 命名规范
(1) 类: 所有单词的首字母大写,如 TestJava
(2) 方法: 第一个单词的首字母小写,之后每个单词的首字母大写,如 getInfo()。
(3) 属性: 第一个单词的首字母小写,之后每个单词的首字母大写,如 studentName 。
(4) 包: 所有单词的字幕小写,如 org.sdd.demo。
(5) 常量: 所有单词的字母大写,如 FLAG。
1. package 是在使用多个类或接口时,为了避免名称重复而采用的一种措施,直接在程序中加入 package 关键字即可。
作用:用于将完成不同功能的类分门别类,放在不同的目录(包)下。
命名规则:将公司域名反转作为包名。www.sun.com, com.sun(包名), 对于包名:每个字母都需要小写。
【定义格式】
package 包名称。子包名称;
//为程序打包 package org.sdd.demo08; //定义一个包 class Demo{ public String getInfo(){ return "Hello World!!!"; } } public class PackageDemo01{ public static void main(String args[]){ System.out.println(new Demo().getInfo()); //实例化本包对象 } }以上程序主要的功能是在屏幕上打印“Hello World!!!”字符串,但是因为程序是在包中,所以此时完整的类名称应该为 “包。类名称”,即“org.sdd.demo08.PackageDemo01”, 在编译的时必须加上若干参数才行,编译语法如下:
编译:javac -d 。 PackageDemo01.java
-d: 表示生成目录,生成的目录以package 的定义为准。
。:表示在当前所在的文件夹中生成。
执行: java org.sdd.demo08.PackageDemo01
2. 导入(import),将使用 package 分离的各个类导入回来,让编译器能够找到所需要的类。
注意:导入的是一个类,而不是一个包。 import aa.bb.*并不会导入 aa.bb.cc包下的类,这是需要写:import aa.bb.*; import aa.bb.cc.*;
【格式 类的导入】
import 包名称。子包名称。类名称;-> 手工导入所需要的类
import 包名称。子包名称。*;-> 由JVM 自动加载所需要的类
//新加一个文件修改Demo类的定义 package org.sdd.demo08.a; //定义一个包 public class Demo{ //定义为public的类必须与文件名相同 public String getInfo(){ return "Hello World!!!"; } }
//在另外一个类中引用Demo类 package org.sdd.demo08.b; import org.sdd.demo08.a.Demo; //导入不同包中的Demo类 public class ImportDemo01{ public static void main(String args[]){ System.out.println(new Demo().getInfo()); } }提示:关于 public class 与 class 声明类的补充。
如果一个类声明为 public class,则文件名称必须与类名称一直,而且在一个类文件中只能有一个 public class, 而如果使用 class 声明一个类,则文件名称可以与类名称不一致,但是执行时必须执行生成的class 文件名称。除了这些之外,public class 和 class 还在包的访问上有所限制,如果一个类只在本包中访问,不需要被外包访问,则直接声明称 class 即可;而如果一个类需要被外包访问,则必须声明为
public class。
可以使用“*”方式由 JVM 根据需要自动加载所需的类,手动导入与使用*号导入性能是一样的。但是,如果在一个程序中同时导入了两个包的同名类,在使用时就必须明确地写出完整的“包。类名称”。
3. 静态导入
JDK 1.5之后提供了静态导入功能。如果一个类中的方法全部是使用 static 声明的静态方法,则在导入时就可以直接诶使用 import static 的方式导入。
【格式
静态导入】
import static包。类。*;
//定义一个类,全部由静态方法组成 package org.sdd.demo08.e; public class Operate{ //里面的方法全部都是 static 类型 public static int add(int i, int j){ //加法操作 return i + j; } public static int sub(int i, int j){ //减法操作 return i - j; } public static int mul(int i, int j){ //乘法操作 return i * j; } public static int div(int i, int j){ //除法操作 return i / j; } } //使用静态导入 package org.sdd.demo08.f; import static org.sdd.demo08.e.Operate.*; //静态导入 public class StaticImportDemo{ public static void main(String args[]){ System.out.println("3 + 3 = " + add(3, 3)); //直接调用静态方法 System.out.println("3 - 2 = " + sub(3, 2)); //直接调用静态方法 System.out.println("3 * 3 = " + mul(3, 3)); //直接调用静态方法 System.out.println("3 / 3 = " + div(3, 3)); //直接调用静态方法 } }使用静态导入,所以 Operate 类中的所有静态方法可以直接在 StaticImportDemo 类中使用,而不需要使用“类。静态方法()” 的形式调用。
总结: 当需要使用的类与当前类不再同一个目录下才需要导入,如果两个类在同一目录下则不需要导入,直接使用即可。
4. 关于 package、import、class 的顺序问题:
a)首先需要定义包(package), 可选
b)接下来使用 import 进行导入, 可选
c)然后才是 class 或 interface 的定义。
二、 访问权限
Java中一共存在4中访问控制权限,即 private、default(默认)、protected、public。
(1) private: 私有访问权限。可以用在属性的定义、方法的声明上。被 private 所修饰的属性和方法只能在该类内部使用。
(2) default: 默认访问权限。在类内部以及相同包下面的类所使用。
(3) protected: 受保护的。被 protected 所修饰的属性和方法可以在类内部、相同包、及该类的子类所使用(可以被子类所继承下来使用,而不是在子类里面定义方法去访问。或者说它可以被子类继承下来)。
(4) public:公共访问权限。一个类中的成员使用了 public 访问权限,就可以在所有类中被访问, 不管是否在同一个包中。
例子:protected 所修改的可以被子类继承下来使用。
package com.test.base;
public class ProtectedTest extends Parent {
public void output(){
System.out.println(age); //直接使用被继承下来的方法或属性
print();
}
public static void main(String[] args) {
ProtectedTest pt = new ProtectedTest();
pt.output();
}
}
class Parent{
protected int age = 10;
protected void print(){
System.out.println("This is parent");
}
}
三、jar命令的使用
作用: 将 *。class 文件 压缩成一个文件。jar(Java Archive File)
查看:JDK中的bin目录 jar.exe,在命令行输入 jar 可以查看此命令的提示界面。
如何使用jar文件:得到一个 jar 文件后,可以通过设置 classpath 的方式在系统中注册好此 jar 文件,以供程序使用。设置命令: SET CLASSPATH=.;F:\text\my.jar。从当前文件中查找,或指定路径查找。
jar 命令中的主要参数:
· C: 创建新的文档。
· V: 生成详细的输出信息。
· F: 指定存档的文件名。
查看 jar 包中的全部内容: “jar -tvf 文件名称”。
解压缩 jar 包中的文件:“jar-xf 文件名称”即可。
四、 Java 命名规范
(1) 类: 所有单词的首字母大写,如 TestJava
(2) 方法: 第一个单词的首字母小写,之后每个单词的首字母大写,如 getInfo()。
(3) 属性: 第一个单词的首字母小写,之后每个单词的首字母大写,如 studentName 。
(4) 包: 所有单词的字幕小写,如 org.sdd.demo。
(5) 常量: 所有单词的字母大写,如 FLAG。
相关文章推荐
- Java学习笔记四。设计模式、基本数据类型、包装类、异常、断言、包、访问权限、命名规范、jar
- Java包及访问控制权限--(private/default/protected/public)及命名规范
- 访问控制权限和 ------java命名规范
- java访问控制权限及命名规范
- Java中的访问权限和命名规范
- Java笔记整理:访问权限控制
- 《Java 编程思想》-第6章 访问权限控制 笔记
- Thinking in JAVA笔记——第六章 访问权限控制
- Java学习笔记—访问权限控制
- thinking in java笔记 6 访问权限控制
- Java编程思想学习笔记六:访问权限控制
- Java--jar命令的使用与java命名规范
- Java学习笔记(2) :访问权限控制
- Java编程思想笔记——第六章 访问权限控制
- java编程思想阅读笔记(二)访问权限控制和复用类
- 读thinking in java笔记(五):访问权限控制
- thinking in java 笔记 思维导图 第六章 访问权限控制
- 【java编程思想--学习笔记(三)】访问控制-接口实现与类的访问权限
- Java 学习笔记6-访问权限控制
- java学习笔记(四)——访问权限控制