1.8パッケージとインポートのキーワード
1.8.1パッケージ
パッケージの下で、特に大規模なプロジェクト、特にJavaのファイルより多くのケース、実際にはディレクトリで、我々は、Javaパッケージ名で呼ば下請けの管理は通常、小文字、サブディレクトリ管理する必要があります。
パッケージのメカニズム:
①クラス名の前に名前の競合など、プラスの名前空間(パッケージ機構)を解決します。
②Javaパッケージ文で使用することは、パケットを定義します。(シングルパケット、パケット多重化)。
③package文は、最初の行のみ.javaソースファイルに表示できます。
④package定義フォーマット、通常は会社のドメインフラッシュバックモード。
たとえば、次のようにcom.bjpowernode.oa.system。
より多くの正義よりも含まれていますbjpowernode開発OAプロジェクト、システムのOAプロジェクトは、モジュールの一つです!
フル・パッケージ定義形式:ドメイン名の企業のフラッシュバック。プロジェクト名。モジュール名。
パッケージ名を持つ⑤完全なクラス名。
⑥パッケージステートメントを使用してJavaソースファイルをコンパイルすることができなければなりません:Javaソースファイルのパスを生成したのjavac -dパス。
⑦実行します。java com.bjpowernode.javase.day05.User
パッケージcom.bjpowernode.javase.day05。 パブリッククラスユーザー{ パブリック静的無効メイン(文字列[] args){ System.out.println(「ユーザの主な方法は、実行!」); } } |
パッケージcom.bjpowernode.javase.day05。
パブリッククラスTEST01 {
パブリック静的無効メイン(文字列[] args){ ユーザUが新しいユーザーを=();
System.out.println(U)。//com.bjpowernode.javase.day05.User@c17164 } } |
1.8.2インポート
パッケージコム;
//輸入文は、他のクラスに導入することができます。 //輸入文は、のみに表示できるパッケージ文の下にクラス定義文以上。 //インポートcom.bjpowernode.javase.day05.User。 輸入com.bjpowernode.javase.day05 *。; //java.lang、すべてのクラスは、手動でパッケージをインポートする必要があります。システムが自動的にインポートされました。 輸入java.util.Date;
パブリッククラスTEST02 { //エントランス パブリック静的無効メイン(文字列[] args){
//User.classが見つかりました。 //ユーザUが(新しいユーザーを=)。
com.bjpowernode.javase.day05.User U =新しいcom.bjpowernode.javase.day05.User(); System.out.println(U)。//com.bjpowernode.javase.day05.User@c17164
ユーザU1 =新しいユーザー(); System.out.println(U1)。
O =新しいオブジェクトのオブジェクト(); System.out.println(O)//java.lang.Object@61de33
日// SUN提供 日付t =新しいDate();
System.out.println(t); //Fri Jul 27 15:00:37 CST 2012 } } |
JDK中主要的包介绍
1.java.lang----包含一些Java语言的核心类,如String、Math、Integer、 System和Thread,提供常用功能。
2. java.net----包含执行与网络相关的操作的类和接口。
3. java.io ----包含能提供多种输入/输出功能的类。
4. java.util----包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日期日历相关的函数。
5. java.text----包含了一些java格式化相关的类
6. java.sql----包含了java进行JDBC数据库编程的相关类/接口
7. java.awt----包含了构成抽象窗口工具集(abstract window toolkits)的
多个类,这些类被用来构建和管理应用程序的图形用户界
面(GUI)。
8. java.applet----包含applet运行所需的一些类。
总结
1.面向对象思想的落地法则一:
①设计类,并设计类的成员(成员变量&成员方法)
②通过类,来创建类的对象(也称作类的实例化)
③通过“对象.属性” 或“对象.方法”来调用,完成相应的功能
2.创建的多个对象,彼此各自拥有一套类的属性。
当对其中一个对象的属性进行修改时,不会影响到其他对象的属性值。
public class Zoo{ public static void main(String args[]){ Animal xb=new Animal(); Animal xh=new Animal(); xb.legs=4; xh.legs=0; System.out.println(xb.legs); //4 System.out.println(xh.legs); //0 xb.legs=2; System.out.println(xb.legs); //2 System.out.println(xh.legs); //0 } } |
3.类的属性(成员变量)
成员变量vs局部变量
相同点:
①遵循变量声明的格式: 数据类型 变量名 = 初始化值
②都有作用域
不同点:
①声明的位置的不同 :
成员变量:声明在类里,方法外;局部变量:声明在方法内,方法的形参部分,代码块内
②关于修饰符:
成员变量的修饰符有四个:public private protected 缺省;
局部变量没有修饰符,与所在的方法修饰符相同。
③初始化值:一定会有初始化值。
成员变量:如果在声明的时候,不显式的赋值,那么不同数据类型会有不同的默认初始化值。
byte short int long ==>0
float double ==>0.0
char ==>空格
boolean ==>false
引用类型变量==>null
局部变量:一定要显式的赋值(局部变量没有默认初始化值)。
④二者在内存中存放的位置不同:
成员变量:存在于堆空间中;局部变量:栈空间中 。
4.关于变量的分类:
①按照数据类型的不同:基本数据类型(8种)& 引用数据类型
②按照声明的位置的不同:成员变量 & 局部变量
5.类的方法:提供某种功能的实现
①实例
public void eat(){//方法体} public String getName(){} public void setName(String n){} |
格式:权限修饰符 返回值类型(void:无返回值/具体的返回值) 方法名(形参){}
②关于返回值类型
void:表明此方法不需要返回值
有返回值的方法:在方法的最后一定有return + 返回值类型对应的变量
记忆:void 与return不可以同时出现一个方法内。像一对“冤家”。
③方法内可以调用本类的其他方法或属性,但是不能在方法内再定义方法!
6.类的初始化的内存解析
内存划分的结构:理解的基础上,学会基本的创建的类的对象在内存中的运行。
①栈(stack):局部变量 、对象的引用名、数组的引用名
②堆(heap):new 出来的“东西”(如:对象的实体,数组的实体),含成员变量
③方法区:含字符串常量
④静态域:声明为static的变量
7.面向对象思想的落地法则二:(封装性的思想)
①将类的属性私有化
②提供公共的方法(setter & getter)来实现调用