Javaクリーンアップ

1509 ワード

C++とJava間の配列伝達の違い
C++は配列と配列の大きさとは独立して管理され、Javaは配列自身が大きさを提供する.
C++モード
int sum(int x[], int size){
    int n,s=0;
    for(n=0;n<size;n++)
    	s+=x[n];
    return s;
}//배열과 크기를 각각 전달받음.
Java方式
int sum(int x[]){
    int n,s=0;
    for(n=0;n<size;n++)
    	s+=x[n];
    return s;
}//배열만 전달 받음.
Javaオブジェクトコンセプトのクリーンアップ
public class Circle{
    int radius;
    String name;
    public double getArea(){
    	return 3.14*radius*radius;
    }
    
    pulic static void main(String[] args){
    	Circle pizza;// 객체가 생성 된 것은 아님. Circle 타입의 객체를 가리키는 레퍼런스 변수일 뿐 객체 자체 x
       	pizza= new Circe();// new 연산자를 사용하여 객체 생성완료.
       	.....
        Circle donut = new Circle();//위의 2줄을 한번에 하는 방법.
        .....
Javaオブジェクト配列の作成
Circle[] c;//Circle 배열에 대한 레퍼런스 변수 c 선언
c= new Circe[5];//레퍼런스 배열 생성
for(int i=0;i<c.length;i++)
	c[i]= new Circle(i);//각 원소 객체 생성
アクセス指定子
-public:クラスの内部および外部から呼び出すことができます.
-private:クラスメンバーのみを呼び出す
-保護されています:クラス+継承されたサブクラスを呼び出すことができます
-default(private package):同じパッケージ
公開範囲:「privateJavaでのパラメータ転送
-call by value
-オブジェクトと配列を渡すときに自身がxを渡す
-コメントの転送
C++とは異なり、Javaはクラス外に変数や関数を存在させることはできません.
Staticを使用して実装します.
Static methodは存在しないため使用できません
finalメソッドは、これ以上上書きできないことを指定します.
Javaが最終的にフィールドを宣言すると、そのフィールドは定数になります.
ex) public static final double PI=3.14;