今日は1月26日2020年で、今日それが二日には、計算され、五十から六日間は読んでいない最初の月であり、学習のJava今日のスケジュールが育った、ウイルスは、私が出て行くことができないので、私はあまりにもハードだ学ばなければなりませんでしたアップ!!
1.Java程序的分类:
(1)Application(应用程序):可独立运行的应用程序
(2)Applet(小应用程序):嵌入在网页中的Java程序
(3)Servelt(服务器端应用程序)
2.Java的特点
(1)简单:Java语法类似于C++:Java摒弃了C++中很少使用、难理解、容易引发错误的地方,比如指针、结构、联合、操作符重载、内存管理等等
(2):面向对象:Java是真正面向对象的语言,Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。
(3)分布式
(4)健壮性:较强的查错能力和安全的指针模型
(5)安全:Java的bug越来越少
(6)可移植性
オブジェクトとクラス
1.クラス間の関係
(1)依存
別のオブジェクト・クラスへのクラスの操作方法は、その後、別のクラスにクラスが依存する場合
(2)重合
クラスオブジェクトは、別のクラスのオブジェクトが含まれています
(3)継承
一般と特別な関係
2.既存のクラス
オブジェクトを作成する(1)
日の誕生日=新しいデータ()は; // このようなクラスは一度だけ使用することができる作成
データ期限=誕生日;配列や文字列の使用と同様に、メモリの//期限の誕生日と共同管理部、
独自のクラスを作成します3。
定義3.1カテゴリ
3.1.1定義の例
3.1.2複数のソースファイルの使用
各クラスは、別のソースファイル内に配置することができ、例えば、
Employeeクラスのメンバは、ファイルEmployee.java内に配置されている
ファイルEmployeeTest.java内のクラスのEmployeeTest部材
プログラムのコンパイル3.1.3複数のソースファイル
実行可能なクラスをコンパイルし、他のクラスはコンパイル自動的に呼び出されます==
コンパイラはEmployeeTest.javaは、使用するときに見つけたとき
、Employeeクラスの検索を、それがEmployee.classを探しますが見つからない場合は、コンパイラが自動的にEmployee.javaをコンパイルします。
EmployeeTest.javaをコンパイルするときは、ソースが長いEmployee.classとして、Employee.javaほしいですかをファイルすることはできません
Employeeクラスの3.2分析
3.2.1コンストラクタ
public Employee(String n,e double s,t int year,t int month,t int day);
コンストラクタ:
(1)コンストラクタは、典型的には、例えば、フィールドに初期コンストラクタ与えられ、構築オブジェクトに使用される特別な方法であり、
同一の構成及びクラス名ている(2)
クラスは、複数のコンストラクタ有することができる(3)
(4)いくつかの構成は、0,1、又はそれ以上のパラメータを有していてもよい
(5)価値構造を返さない
ボイドもタイプであるため、ボイドない返すように(6)
(7)と常にに設定された新しい演算子で呼び出されます
3.2.2。4つの方法
4つの方法は、パブリックとしてマークされています
public String getName ();
public double getSalary ();
public Date getHireDay ();
public void raiseSalary(double byPercent);
それぞれの方法、暗黙のパラメータ、使用するキーワードこのポインティング:.このメソッド名
3.2.3。3つのフィールドの例
三つのフィールドの例としては、プライベートのマークが付いています
private String name;
private double salary;
private Date hireDay;
(1)最後のインスタンスフィールド
最後のフィールドで改変の例には、変更することはできませんし、この分野では、構成時に初期化する必要があります。
(2)静的静的フィールド
クラスの静的フィールドの各インスタンスは共有されています
3.2.4.main方法
3.2.5権限の修飾子
3.2.5.1フィールドの修飾子
3.2.5.2クラス修飾
类的访问控制符或为public,或为默认,如果为public,则该类可以被其他类所访问,若
为默认,则只能被同包中的类所访问
3.3オブジェクト構造
3.3.1デフォルトのフィールドの初期化
フィールドの割り当ては、コンストラクタで表示されている与えられていない場合、それは自動的にデフォルト値に割り当てられます
3.3.2初期化ブロック
3.4オブジェクトのデストラクタ
3.4.1finalize方法
1.あなたはどのクラスのfinalizeメソッドは明らかにガベージコレクタにオブジェクトの前に呼び出されます追加することができます
。この方法では2.、あなたには、いくつかのシステムリソースを解放することができ、例えば:ファイルハンドル、データベース接続、ネットワーク接続など
3.ません任意依存リソース不足ファイナライズ回収する方法
作業にガベージコレクタを強制するために使用することができる4方法:にSystem.gc();
3.5他の二つの改質剤(静的、最終)
3.5.1静的
3.5.1.1静的フィールド
1.用static修饰符修饰的字段最本质的特征是它们是类的字段,而不是属于一个对象实例
2.它不保存在某个对象实例的内存区间,二是保存在内存区域的公共存储单元
3.类变量可以通过类名直接访问,也可以通过实例对象来访问,两种方法的结果是相同的
4.在一定意义上,它可以表示一个全局变量
3.5.1.2静的メソッド
1.用static修饰符修饰的方法仅仅属于类的静态方法,又称为类方法,不用static修饰的
方法称为实例方法
2.类方法的本质是该方法是属于整个类的、而不是属于某个实例的。
3.深刻含义:非static的方法是属于某个对象的方法,在这个对象创建时,对象的方法在
内存中拥有自己的专属片段。而static方法是属于整个类的,它在内存中的代码将随着类
的定义而进行分配和重载,不被任何一个对象专有。
4.由于static方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而
只能处理属于整个类的成员变量,即static方法只能处理本类中的static域或调用
static方法
5.在static方法中,不能访问实例变量,不能使用this和super
6.调用这个方法时,应该使用类名直接调用,也可以使用某一个具体的对象名
如Math.random()
3.5.2ファイナル
3.5.2.1 finalクラス
如果一个类被final修饰符所修饰和限定,说明这个类不能被继承,即不可能有子类
3.5.2.2最終メソッド
final修饰符所修饰的方法,是不能被子类所覆盖的方法
3.5.2.3 finalフィールドとローカル変数
1.它们的值一旦给定,将不能更改
2.是只读量,它们能且只能被赋值一次,而不能被赋值多次
3.如果一个字段被static final 两个修饰符所限定时,它可以表示常量
比如Interger.MAX_VALUE(表示最大整数)、Math.PI(表示圆周率)就是这种常量
4.关于赋值:在定义static final 域时,如果不给定初始值,则按默认值进行初始化
在定义final字段时,若不是static域,则必须只能赋值一次,不能缺省
在定义final局部变量时,也必须只能赋值一次,它的值可能不是常量,但它
的取值在变量存在期间不会改变