자바 의 final 수정자

1.final 수식:데이터,방법 과 클래스
1)속성 을 수식 하여 속성 을 표시 합 니 다【한 번 만 할당 가능】
(1)기본 유형:값 을 수정 할 수 없습니다.
(2)인용 유형:인용 은 수정 할 수 없습니다.
2)수식 방법,표시 방법 은 다시 쓸 수 없 지만 이불 류 에 접근 할 수 있 습 니 다(방법 이 private 형식 이 아니라면)
3)수식 류 는 클래스 가 계승 되 어 서 는 안 된다 는 것 을 나타 낸다.
public class FinalDemo {
    //final      ,final       
    //      ,final       ,
    //          ,            。           
    public final People people = new People(11);

    public FinalDemo() {
    }

    public String getStr(String str) {
        final String result = str;
        return result;
    }

    public static void main(String[] args) {
        FinalDemo f = new FinalDemo();
        System.out.println(f.getStr("1"));
        System.out.println(f.getStr("2"));
        CC c = new CC();
        System.out.println(c.getResult());
        //final          
        c.sayHello();
        System.out.println(f.people);
        //     i  
        f.people.i += 10;
        System.out.println(f.people);
    }

}

//final          
final class Abe {
    Abe() {
        System.out.println("this is Abe constructor");
    }

}

class Bb {
    //final     ,      
    final String string = "  ";

    //final          
    final void sayHello() {
        System.out.println("hello");
    }

    //private              
    private final void saybyebye() {
        System.out.println("say byebye");
    }

    void sayHi() {
        System.out.println("say hi");
    }

    String getResult() {
        //final     ,      
        //  string="  ";
        return string;
    }
}

class CC extends Bb {
    @Override
    void sayHi() {
        super.sayHi();
    }
}

class People {
    int i;

    public People(int i) {
        this.i = i;
    }

    public int getI() {
        return i;
    }

    public void setI(int i) {
        this.i = i;
    }

    @Override
    public String toString() {
        return "People{" +
                "i=" + i +
                '}';
    }
}

좋은 웹페이지 즐겨찾기