final 키워드의 기능 개술

1870 단어
final 키워드는 인용, 방법, 클래스를 수식할 수 있습니다.

1. 인용을 수식하는 데 쓰인다


4
  • 인용이 기본 데이터 형식이라면 이 인용은 상수이고 이 값은 수정할 수 없다

  • 4
  • 인용이 인용 데이터 형식, 예를 들어 대상, 수조라면 이 대상, 수조 자체는 수정할 수 있으나 이 대상이나 수조의 주소를 가리키는 인용은 수정할 수 없다

  • 4
  • 시류의 구성원 변수를 인용하면 그 자리에서 값을 부여해야 한다. 그렇지 않으면 컴파일링이 틀릴 수 있다

  • 예는 다음과 같습니다.
     
    final class Person {
        String name ="zs";
    //3. //final int age; final int age = 10; } public class Demo01 { public static void main(String[] args) {
    //1. , final int i = 9; //i = 10;

    //2. , Person p = new Person(); p.name = "lisi"; final int[] arr = {1,2,3,45}; arr[3] = 999; //arr = new int[]{1,4,56,78}; } }

     

      2.한 가지 방법을 수식하는 데 쓰다


    final 수식 방법을 사용할 때, 이 방법은 최종 방법이 되어 이불류를 다시 쓸 수 없습니다.그러나 이 방법은 여전히 계승될 수 있다.
       
     
    class Person {
        public final void say() {
            System.out.println(" ....");
        }
        public void eat() {
            System.out.println(" ...");
        }
    }
    class Teacher extends Person {
        //1. final , 
        /*@Override
        public void say() {
            System.out.println(" ...");
        }*/
        
        public void eat() {
            System.out.println(" ...");
        }
    }
    public class Demo02 {
        public static void main(String[] args) {
            Teacher t = new Teacher();
            t.say();
        }    
    }

     

    3. 수식류에 사용


    final로 클래스를 수정할 때, 이 클래스는 최종 클래스가 되어 계승될 수 없습니다.줄여서'단자절손류'라고 한다.
     
    /***
     * final 3: , , 
     * @author Administrator
     *
     */
    final class Person02 {    }
    //class Teacher02 extends Person02 { }
    //class MyString extends String{}
    public class Demo03 {
    
    }

     
    예를 들어 자주 사용하는 스트링 클래스가 최종 클래스입니다.

    좋은 웹페이지 즐겨찾기