JAVAプログラミング基礎(四)Java言語プログラミングの旅を開く


前節のユニットテストの答え:1.b 2.d 3.e 4.a 5.e 6.c 7.b 8.f 9.
Javaオブジェクトの構造の詳細については、東陸の雲南省のcsdnブログを参照してください.http://blog.csdn.net/zixiao217
この節の学習目標
  • Java言語のキーワードと予約語を認識する
  • JavaクラスとJavaオブジェクトの関係を理解する
  • Javaクラスのすべての構成の構文と機能を理解する
  • このセクションでは、java言語がオブジェクトをどのように処理するかについて説明します.JAvaのキーワードとjavaクラスの構成
    JAvaのキーワード
    他の言語と同様にjava言語では、コンパイル時に専門的に処理される単語も指定されています.したがって、プログラム内の変数として名前を付けることはできません.対照的にjavaのキーワードは少ないです.
    abstract
    assert
    boolean
    break
    byte
    case
    catch
    char
    class
    const
    continue
    default
    do
    double
    else
    enum
    extends
    final
    finally
    float
    for
    goto
    if
    implements
    import
    instanceof
    int
    interface
    long
    native
    new
    package
    private
    protected
    public
    return
    short
    static
    strictfp
    super
    switch
    synchronized
    this
    throw
    throws
    transient
    try
    void
    volatile
    while

    以上のキーワードに加えて、javaの変数の名前を付けるには、truefalsenullを使用することはできません.IDE(統合開発環境)でコードを記述するメリットは、キーワードに文法的な色で表示され、後述する内容が表示されることです.
    Javaクラスの構造
    1つのクラスは、属性と動作を含む離散エンティティ(オブジェクト)です.クラスはオブジェクトの基本構造を定義し、実行時にアプリケーション(JVM)がオブジェクトのインスタンスを作成します.オブジェクトには良い境界と状態を定義し、正しく呼び出すことができます.オブジェクトに面する言語には、クラスをどのように定義するかという独自のルールがあります.JAva言語では、クラスの定義は次のとおりです.
    package     ;
    import       (  .   .  ); 
           (publicprivate ) class   {
             (publicprivate )         [=    ];
      //   
             (publicprivate )   ([    ]) {
               
      }
             (publicprivate )         ([    ]) {
              
      }
      //     
      /*      */
    }
    
    //  
    package org.byron4j.javaBasic;
    /**
    *     " " 
    */
    public class Person{
    
        private String name;
        private int age = 0;
    
        //   
        public Person{
            System.out.println("       。");
        }
    
        /*
        *              
        */
        public void sayHello(String name){
            System.out.println("Hello, " + name);
        }
    }
    

    パッケージクラス
    JAva言語では、作成したクラスの名前を付けることができますが、同じ名前のクラスを作成することがあります.これは明らかに衝突を引き起こすので、パッケージも誕生します.
    Javaパッケージはネーミングスペースを提供するメカニズムです.パッケージの下のクラスの名前は唯一であるべきで、パッケージの外は放っておくことができます.一意の構造を決定するには、名前空間を含む名前を指定する必要があります.上記のPersonのように、フルネームはorg.byron 4 j.javaBasic.Personです.
    パッケージは、より複雑なアプリケーションと離散ユニットの機能を確立するための良い方法も提供します.
    パッケージのキーワードはパッケージで、パッケージの定義は次のとおりです.
    package  orgType.orgName.appName.compName;

    パッケージ定義仕様の説明:
  • orgType機構タイプ、例えばcom,org,or net
  • orgNameメカニズム名(makotojava,oracle,or ibm.
  • など)
  • appNameアプリケーションの名前、例えばロシアブロックTetris
  • compNameコンポーネント名、通常は現在のモジュール名
  • import文
    importはjavaコンパイラにこのクラスが参照する外部クラスを見つけるように伝えます.
    import ClassNameToImport;

    パッケージ内のすべてのクラスを導入するには、*マッチングを使用します.
    import com.makotojava.*;

    クラスの定義
    Java言語では、オブジェクトを定義し、クラスを定義する必要があります.クラスはオブジェクトのテンプレートと考えられます.
    package org.byron4j.javaBasic;
    /**
    *     " " 
    */
    public class Person{
    
        private String name;
        private int age = 0;
    
        //   
        public Person{
            System.out.println("       。");
        }
    
        /*
        *              
        */
        public void sayHello(String name){
            System.out.println("Hello, " + name);
        }
    }

    クラス名として好きな名前を使用することができますが、アルパカの命名法を使用することをお勧めします.大文字で始め、単語の最初のアルファベットを大文字にし、他のすべてのアルファベットをWhitePersonのように小文字にします.クラス名には英語の文字と数字しか含まれていないはずです.これらのガイドラインを堅持すると、コードが同じ約束に従っている他の開発者に理解されやすくなります.
    変数とメソッド
    クラスには変数とメソッドの2種類のメンバーがあります.
    変数#ヘンスウ#
    クラスの変数は、クラスの各インスタンスを区別し、メンバー変数(インスタンス変数)と呼ばれ、構成要素を含む変数を定義します.
  • アクセス制御修飾子
  • データ型
  • 変数名
  • 初期値オプション
  • アクセス制御修飾子は次のようになります.
  • public:この変数には、任意のオブジェクトがアクセスできます.
  • protected:同じパケットの下のオブジェクト、または任意のパケットの下のクラスのサブクラス情報が変数にアクセスできます.
  • は指定しません:同じパッケージの下のクラスは
  • にアクセスできます.
  • private:このクラスのみが
  • にアクセスできます.
    データ型は、元のデータ型(int、longなど)または参照タイプ(後述)を使用できます.変数名の頭文字は小文字で、その後、各単語の頭文字は大文字で書きます.初期値、指定しないとシステムはデフォルト(intタイプが0、参照タイプがnull)を与えます.
    Personクラスの定義
    package com.makotojava.intro;
    
    public class Person {
       private String name;
       private int age;
       private int height;
       private int weight;
       private String eyeColor;
       private String gender;
    }

    方法
    クラスのメソッドは、オブジェクトの動作を定義します.メソッドは、コンストラクタ、その他のメソッドの2つのタイプに分けられます.クラスのインスタンスを作成するには、コンストラクション関数メソッドのみを使用します.他のタイプの方法は、ほとんどのアプリケーションの動作に使用できます.メソッドのコンポーネント:
  • アクセス制御修飾子
  • 戻りタイプ
  • メソッド名
  • パラメータリスト
  • コンストラクタ
    構築メソッドの名前はクラス名と同じでなければなりません.コンストラクタ付きクラスの宣言(明示的に宣言しない場合、デフォルトにはパラメータのないコンストラクタという空のコンストラクタが含まれます):
    package com.makotojava.intro;
    public class Person {
      private String name;
      private int age;
      private int height;
      private int  weight;
      private String eyeColor;
    
      private String gender;
      public Person() {
        // Nothing to do...
      }
    
      public Person(String name, int age, int height, int weight String eyeColor, String gender) {
        this.name = name;
        this.age = age;//  age          age  
        this.height = height;
        this.weight = weight;
        this.eyeColor = eyeColor;
        this.gender = gender;
      }
    }

    上記の例では、thisキーワードの使用に注意してください.thisとは、「this object」の現在のオブジェクトを指します.ageはオブジェクトの属性名であり、メソッドのパラメータ名でもあるので、オブジェクトの属性はthisで指定する必要があります.
    Personオブジェクトはますます面白くなり、より多くの行動が必要になる可能性があります.そのため、より多くの方法が必要です.
    その他の方法(コンストラクタ以外)
    構造関数は特殊な関数です.同様に、javaプログラムの特定の機能を実行する他の多くの方法があります.このセクションでは、メソッドの概念について説明します.これは、チュートリアル全体を貫きます.
    上記の例から、メソッドの定義形式がわかります.
    accessSpecifier returnType methodName ([argumentList]) {
      methodStatement(s)
    }

    コンストラクタと似ていますが、これらの方法とその違いは十分です.1つは任意に命名できることです(もちろん、命名規範に従うことが望ましい).以下の仕様を推奨します.
  • 頭文字小文字
  • は、絶対的に必要でない限り、数字の出現を避ける.forの代わりに4を使用することができ、例えばloan 4 StudioはloanForStudio
  • と理解することができる.
  • は、アルファベット文字2のみが戻りタイプです.

  • Personを定義する他の方法を追加
    ここでは、コードの概要を説明するためにコンストラクタは表示されません.
    package com.makotojava.intro;
    
    public class Person {
       private String name;
       private int age;
       private int height;
       private int  weight;
       private String eyeColor;
       private String gender;
    
       public String getName() { return name; }
       public void setName(String value) { name = value; }
       // Other getter/setter combinations...
    }

    Getter、Setterの方法を見ましたか.javaではこれからよく使います.ここで、getterメソッドは指定した属性の値を取得し、setterは対応する属性の値を設定することです.
    メソッドに戻り値がない場合は、メソッド署名でメソッドの戻りタイプをvoidと指定する必要があります.
    静的メソッドとインスタンスメソッド
    通常、インスタンスメソッドと静的メソッドの2つのタイプのメソッドがよく使用されます(非コンストラクタメソッド).インスタンスメソッドは、それらの動作の特定のオブジェクトインスタンスの状態に依存します.静的メソッドは、インスタンスオブジェクトの状態に依存しないため、クラスメソッドとも呼ばれます.静的メソッドの動作はクラスのレベルで発生します.
    静的メソッドは主に共通に使用されます.それらをグローバルな方法と見なすことができます.
    たとえば、次のチュートリアルでは、JDKのLoggerクラスを使用してコンソールに情報を出力します.ロガーのクラスインスタンスを作成します.ロガークラスを初期化する必要はありません.静的メソッドgetロガー()を呼び出します.
    静的メソッドとオブジェクトを呼び出すメソッドは異なります.クラス名を使用します.メソッド名(パラメータリスト)を使用して呼び出す必要があります.
    Logger l = Logger.getLogger("NewLogger");

    この例では,Loggerはクラス名,getLogger(…)はメソッドである.このように、静的メソッドの呼び出しはクラス名のみを使用し、オブジェクトインスタンスを作成する必要はありません.
    あなたが学んだ知識をテストします
    1. import        ?
        a.       ,        ,        。
        b.   web   ,         
        c.              
        d.   
    
    2.                  ,             ?
        a.public
        b.private
        c.   ,                
        d.protected
    
    3.java          ?
        a.      java        ,                      
        b.                        ,    java         
        c.java          
        d.        ,     
    
    4.                  ,        
        a.          
        b.  
        c.java          
        d. 
        e.      
    
    5.   : Person      getter、setter  
    
    6.       ,                  ,             ,           。
        a.            ,       
        b.                                
        c.         ,               
        d.         
        e.      
    7.              ?
        a.       
        b.              ,                
        c.              ,             
        d.      "  "       ,                  
    

    答えは次の節を参照してください.