JavaオブジェクトとクラスDay 1


Javaオブジェクトとクラス
一、public
JAvaプログラムは、Cプログラムがmain()関数から実行されるように、publicクラスのmain関数から実行されます.クラスマウンタに便利さを提供するためにpublicクラスが1つしかありません.1つのpublicクラスは、そのクラス名をファイル名とするファイルにのみ定義できます.
各コンパイルユニット(ファイル)にはpublicクラスが1つしかありません.各コンパイルユニットには共通インタフェースが1つしかないので、publicクラスで表現されます.このインタフェースは、要求に応じて多くのサポートパッケージアクセス権を含むクラスを含むことができます.以上のpublicクラスが1つあると、コンパイラがエラーを報告します.またpublicクラスの名前はファイル名と同じでなければなりません(大文字と小文字を厳密に区別します).もちろん、1つのコンパイルユニット内にpublicクラスがなくてもよい.
二、static
staticキーワードは、メンバー(メンバー変数とメンバー関数)を修飾する修飾子です.1、オブジェクトにおける共通データを実現したいオブジェクト共有.このデータを静的に修飾することができます.2、静的に修飾されたメンバーは、直接クラス名に呼び出されます.すなわち,静的メンバには呼び出し方式が1つ増えている.类名静的方式.3、静態はクラスのロードに伴ってロードされる.また、オブジェクトの存在よりも優先されます.
三、メンバー変数とクラス変数の違い
1、2つの変数のライフサイクルの異なるメンバー変数は、オブジェクトの作成に伴って存在し、オブジェクトの回収に伴って解放されます.静的変数はクラスのロードに伴って存在し,クラスが消えるにつれて消失する.
2、呼び出し方式の異なるメンバー変数はオブジェクトによってのみ呼び出されます.静的変数は、オブジェクトによって呼び出されてもよく、クラス名によって呼び出されてもよい.
3、別名の異なるメンバー変数はインスタンス変数とも呼ばれます.静的変数はクラス変数とも呼ばれます.
4、データ格納場所の異なるメンバー変数は、スタックメモリのオブジェクトに格納されるので、オブジェクト固有のデータとも呼ばれます.静的変数データはメソッド領域(共有データ領域)の静的領域に格納されるので、オブジェクトの共有データとも呼ばれる.
/*
* Author:        
* Date: 2020/7/3
*/

import java.io.*;       //  c     #include 

class Employee{
    String name;        //Employee       
    int age;
    public Employee(String Name){ // Employee      
        name = Name;
    }
    /*Employee  void                      ,
    *     void       ,       ,
    *             ,          ,    ,      。
    * */
    public void empAge(int empAge){//   age  
        age =  empAge;
    }
    /*  C 
    * void empAge(int empAge)
    * {
    *       printf("%d",empAge);
    * }
    * */
    /*      */
    public void printEmployee(){
        System.out.println("  :"+ name );
        System.out.println("  :" + age );
    }
}

public class EmployeeTest{

    public static void main(String[] args){
        /*             */
        Employee empOne = new Employee("  ");
        Employee empTwo = new Employee("  ");

        //             
        empOne.empAge(18);
        empOne.printEmployee();

        empTwo.empAge(19);
        empTwo.printEmployee();
    }
}