최종, 최종, 마무리의 차이 분석

1.
이 클래스는 상속 될 수 없음을 나타내는 최종 수정 된 클래스가 최상위 클래스입니다.
최종 수정 변수는이 변수가 상수임을 나타냅니다.
최종 수정 방법은이 방법을 재정의 할 수 없지만 최종 방법에서 사용할 수 있음을 의미합니다.

예를 들어 public final void eat () 메서드가있는 기본 클래스 Person이 있습니다. public void eat (String name, int age)와 같이 Person 클래스에서 동일한 이름의 메서드를 재정의 할 수 있습니다. Student의 하위 클래스가있는 경우 Student에서 상위 클래스의 non-final 메서드를 재정의 할 수 있지만 final 메서드는 재정의 할 수 없습니다.

사람


package test2;
public class Person {
    private String name;
    private int age;

    public final void eat()
    {
        System.out.println("this is in person class");
    }

    public void eat(String name,int age)
    {

    }

}

학생


package test2;
public class Student extends Person {
    @Override
    public void eat(String name, int age) {
        // TODO Auto-generated method stub
        super.eat(name, age);
    }
}

일반적인 최종 메서드는 Object 클래스의 wait () 및 notify () 메서드입니다.

2. 마지막으로
finally는 키워드입니다. 예외 처리에서는 실행해야 할 내용이 try 절에서 실행되고 catch 절을 사용하여 예외를 catch하고 finally 절은 실행 여부에 관계없이 실행됨을 의미합니다. 예외가 발생합니다. 드디어 필수품. 하지만 try ... catch는 쌍으로 나타나야합니다.

3.finalize ()
finalize () 메소드 이름, Object 클래스의 메소드, Java 기술은 가비지 수집기가 메모리에서 객체를 지우기 전에 finalize () 메소드를 사용하여 필요한 정리 작업을 수행 할 수 있도록합니다. 이 메서드는 개체가 참조되지 않음을 확인할 때 가비지 수집기에 의해 호출됩니다. finalize () 메서드는 가비지 수집기가 시스템 리소스를 정리하거나 다른 정리 작업을 수행하기 위해 개체를 삭제하기 전에 개체에서 호출 된 하위 클래스의 finalize () 메서드를 재정의하는 것입니다.
코드 예 :


class Person
{
    private String name;
    private int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String toString()
    {
        return "姓名:"+this.name+",年龄:"+this.age;
    }

    public void finalize() throws Throwable{//对象释放空间是默认调用此方法
        System.out.println("对象被释放-->"+this);//直接输出次对象,调用toString()方法
    }

}
public class SystemDemo {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person per=new Person("zhangsan",30);
        per=null;//断开引用,释放空间
        //方法1:
        System.gc();//强制性释放空间
        //方法2:
//        Runtime run=Runtime.getRuntime();
//        run.gc();
    }
}

위 내용은이 글의 전체 내용이며 모든 분들의 연구에 도움이 되었으면 좋겠습니다.

2021 년에 수집 된 최신 고주파 인터뷰 질문 (모두 문서로 구성됨)에는 mysql, netty, spring, thread, spring cloud, jvm, 소스 코드, 알고리즘 및 기타 자세한 설명을 포함하여 많은 건조 제품이 있습니다. 또한 자세한 학습 계획 및 인터뷰. 질문 등, 이러한 콘텐츠를 얻기 위해 필요한 친구, Q Junyang : 547998459

추천

출처blog.csdn.net/p1830095583/article/details/114437963