Java SE第十一講オブジェクト向けパッケージ
1942 ワード
Java SE第十一講
1.クラスに属性とメソッドが含まれている場合、クラスの各オブジェクトにはstaticを考慮せずに独自の属性がありますが、クラスに複数のオブジェクトがあるかにかかわらず、これらのオブジェクトは同じメソッドを共有します.
2.メソッドパラメータ伝達に関するまとめ:Javaにおけるメソッドパラメータ伝達では、元のデータ型でも参照型でも伝達が統一され、伝達値(pass by value)である.
3.どのようなタイプの参照がどのようなタイプのオブジェクトを指すことができますか.例えば、Peopleタイプの参照はPeopleタイプのオブジェクトを指すことができますが、Studentタイプのオブジェクトを指すことはできません.例:
People people = new People();//正しい
People people = new Student();//エラー
4.構築方法(Constructor):
コンストラクションメソッドオブジェクトのプロパティの初期化を完了するために使用されます.コンストラクションメソッドの特徴:
a)構築方法の名前はクラス名と完全に一致しなければならない(大文字と小文字を含む)
b)構造方法は戻り値がなく,voidも現れない.
c)クラスを定義するときにクラスの構築方法を宣言しない場合、Javaコンパイラは自動的にクラスにパラメータがなく、メソッドボディが空の構築方法(デフォルトの構築方法)を追加します.
d)クラスを定義するときにクラスの構築方法(パラメータの有無にかかわらず)を宣言した場合、Javaコンパイラはクラスに構築方法を追加しません.
e)クラスの構築方法を明示的に呼び出すことはできません.構築方法は通常newキーワードによって暗黙的に呼び出されます.注意:コールを反射することもできます
5.newキーワードは、オブジェクトの生成時に3つのことを完了しました. a)オブジェクトのメモリ領域を開く. b)呼び出しクラスの構築方法. c)生成されたオブジェクトのアドレスを返す.
6.デフォルトの構築方法:構築方法にはパラメータがなく、メソッドボディが空です.
7.newを使用してオブジェクトを生成する場合、後の括弧()は構造方法のパラメータリストを表し、構造方法がパラメータを受信しない場合、括弧の内容は空である.コンストラクションメソッドがパラメータを受信する場合、カッコ内の実際のパラメータは、コンストラクションメソッド定義の形式パラメータと一致する必要があります(パラメータ数が一致し、パラメータタイプが一致し、順序に従って1つずつ値を割り当てます).
1.クラスに属性とメソッドが含まれている場合、クラスの各オブジェクトにはstaticを考慮せずに独自の属性がありますが、クラスに複数のオブジェクトがあるかにかかわらず、これらのオブジェクトは同じメソッドを共有します.
2.メソッドパラメータ伝達に関するまとめ:Javaにおけるメソッドパラメータ伝達では、元のデータ型でも参照型でも伝達が統一され、伝達値(pass by value)である.
3.どのようなタイプの参照がどのようなタイプのオブジェクトを指すことができますか.例えば、Peopleタイプの参照はPeopleタイプのオブジェクトを指すことができますが、Studentタイプのオブジェクトを指すことはできません.例:
People people = new People();//正しい
People people = new Student();//エラー
4.構築方法(Constructor):
コンストラクションメソッドオブジェクトのプロパティの初期化を完了するために使用されます.コンストラクションメソッドの特徴:
a)構築方法の名前はクラス名と完全に一致しなければならない(大文字と小文字を含む)
b)構造方法は戻り値がなく,voidも現れない.
c)クラスを定義するときにクラスの構築方法を宣言しない場合、Javaコンパイラは自動的にクラスにパラメータがなく、メソッドボディが空の構築方法(デフォルトの構築方法)を追加します.
d)クラスを定義するときにクラスの構築方法(パラメータの有無にかかわらず)を宣言した場合、Javaコンパイラはクラスに構築方法を追加しません.
e)クラスの構築方法を明示的に呼び出すことはできません.構築方法は通常newキーワードによって暗黙的に呼び出されます.注意:コールを反射することもできます
5.newキーワードは、オブジェクトの生成時に3つのことを完了しました. a)オブジェクトのメモリ領域を開く. b)呼び出しクラスの構築方法. c)生成されたオブジェクトのアドレスを返す.
6.デフォルトの構築方法:構築方法にはパラメータがなく、メソッドボディが空です.
7.newを使用してオブジェクトを生成する場合、後の括弧()は構造方法のパラメータリストを表し、構造方法がパラメータを受信しない場合、括弧の内容は空である.コンストラクションメソッドがパラメータを受信する場合、カッコ内の実際のパラメータは、コンストラクションメソッド定義の形式パラメータと一致する必要があります(パラメータ数が一致し、パラメータタイプが一致し、順序に従って1つずつ値を割り当てます).
public class ParamTest
{
public static void main(String[] args)
{
Person person = new Person();
person.change(person);
int age = person.age;
System.out.println(age);
System.out.println("--------------------------");
int i = 10;
person.change2(i);
System.out.println(i);
}
}
class Person
{
int age = 20;
public void change(Person person)
{
person = new Person();
person.age = 30;
}
public void change2(int age)
{
age = 40;
}
}
//