1. 최종
최종 수정된 클래스는 이 클래스가 상속될 수 없으며 최상위 클래스임을 나타냅니다.
final은 변수가 상수임을 나타내도록 변수를 수정합니다.
최종 수정된 메서드는 이 메서드를 재정의할 수 없지만 최종 메서드에서는 재정의할 수 있음을 의미합니다.
예를 들어, public final void eat() 메소드가 있는 기본 클래스 Person이 있습니다. public void eat(String name, int age)와 같이 Person 클래스에 동일한 이름을 가진 메소드를 오버로드할 수 있습니다. 하위 클래스 Student가 있는 경우 상위 클래스의 최종이 아닌 메서드는 Student에서 재정의될 수 있지만 최종 메서드는 재정의될 수 없습니다.
사람
다음과 같이 코드 코드를 복사합니다 .
패키지 테스트2;
공개 클래스 사람 {
개인 문자열 이름;
비공개 연령;
공개 최종 공백 먹기()
{
System.out.println("이것은 개인 클래스입니다.");
}
public void eat(문자열 이름, int 나이)
{
}
}
학생
다음과 같이 코드 코드를 복사합니다 .
패키지 테스트2;
공개 수업 학생 확장 사람 {
@보수
public void eat(문자열 이름, 정수 나이) {
// TODO 자동 생성된 메서드 스텁
super.eat(이름,나이);
}
}
일반적인 최종 메서드는 Object 클래스의 wait() 및 inform() 메서드입니다.
2.마지막으로
finally는 예외 처리에서 실행해야 할 작업을 실행하는 키워드입니다. catch 절은 예외 발생 여부에 관계없이 실행된다는 의미입니다. 마지막으로 선택 사항입니다. 하지만 try...catch는 쌍으로 나타나야 합니다.
3.완결()
finalize() 메소드 이름, Object 클래스의 메소드, Java 기술을 사용하면 가비지 수집기가 메모리에서 객체를 지우기 전에 finalize() 메소드를 사용하여 필요한 정리 작업을 수행할 수 있습니다. 이 메서드는 개체가 참조되지 않는다고 판단할 때 이 개체의 가비지 수집기에 의해 호출됩니다. finalize() 메서드는 가비지 수집기가 시스템 리소스를 구성하거나 다른 정리 작업을 수행하기 위해 개체를 삭제하기 전에 이 개체의 하위 클래스에서 호출하는 finalize() 메서드를 재정의하는 것입니다.
코드 예:
다음과 같이 코드 코드를 복사합니다 .
클래스 사람
{
개인 문자열 이름;
비공개 연령;
public Person(문자열 이름, int age) {
this.name = 이름;
this.나이 = 나이;
}
공개 문자열 toString()
{
return "이름: "+this.name+", 나이: "+this.age;
}
public void finalize() throws Throwable{//이 메소드는 객체가 공간을 해제할 때 기본적으로 호출됩니다.
System.out.println("Object is release-->"+this);//2차 객체를 직접 출력하고 toString() 메서드를 호출합니다.
}
}
공개 클래스 SystemDemo {
/**
* @param 인수
*/
공개 정적 무효 메인(String[] args) {
// TODO 자동 생성된 메서드 스텁
인원당=new Person("zhangsan",30);
per=null;//참조 및 릴리스 공간 연결 끊기
//방법 1:
System.gc();//공간을 강제로 해제합니다.
//방법 2:
// 런타임 run=Runtime.getRuntime();
// 실행.gc();
}
}