집 >Java >Java인터뷰 질문들 >다년간의 개발 경험을 바탕으로 정리한 Java 인터뷰 질문 - (1)
1. 기본 데이터형과 캡슐화된 클래스의 차이점은 무엇인가요
(자세한 면접질문 추천 : java 면접질문)
원본형은 클래스, 참조형은 객체입니다.
기본 유형의 크기를 비교하려면 "=="를 사용하고 참조 유형의 크기를 비교하려면 "equals"를 사용하세요.
참조 유형은 직렬화될 수 있지만 기본 유형은 직렬화될 수 없습니다.
컬렉션 클래스에서는 기본 유형이 아닌 참조 유형만 사용할 수 있습니다.
기본 데이터 유형에는 New가 필요하지 않지만, 캡슐화된 클래스에는 new가 필요합니다.
기본 데이터 매개변수는 값으로 전달되고, 캡슐화된 유형은 주소로 전달됩니다.
2. String, StringBuffer, StringBuilder의 차이점
String은 문자열 상수이고, StringBuffer와 StringBuilder는 문자열 변수입니다.
String으로 생성된 문자 콘텐츠는 변경할 수 없으며(String의 기본 char 배열은 최종임) StringBuffer 및 StringBuilder의 문자 콘텐츠를 늘릴 수 있습니다.
StringBuffer는 스레드로부터 안전하고, StringBuilder는 스레드로부터 안전하지 않지만 빠릅니다(스레드 안전을 위해 성능을 소모하지 않기 때문입니다).
3. 문자열은 왜 불변인가요?
String, StringBuffer 및 StringBuilder는 모두 최종 클래스이지만 이들이 생성하는 객체는 모두 변경할 수 없으며 모두 char 배열로 내부적으로 구현됩니다.
하지만 차이점은 String 클래스에 정의된 char 배열은 최종 배열이고 StringBuffer와 StringBuilder는 모두 AbstractStringBuilder 클래스에서 상속되며 내부 구현은 이 상위 클래스에 의해 완료되고 이 상위 클래스에 정의된 char 배열은 char 배열은 추가를 사용하여 추가할 수 있는 일반적인 전용 변수입니다.
(관련 튜토리얼 추천: Java 입문 튜토리얼)
AbstractStringBuilder는 Appendable 인터페이스를 구현하기 때문입니다.
4 런타임 예외와 비런타임 예외의 차이점
런타임 예외는 런타임 오류입니다. 예: ClassCastException(클래스 변환 예외), IndexOutOfBoundsException(범위를 벗어난 배열), NullPointerException(널 포인터), ArrayStoreException(데이터) 스토리지 예외, 배열 작동 시 일관되지 않은 유형), IO 작업의 BufferOverflowException 예외.
(추천 동영상 튜토리얼: java 동영상 튜토리얼)
런타임 예외는 실행 전에는 표시되지 않는 오류입니다. try and catch를 사용하면 예외를 잡을 수 있습니다.
5. 객체지향의 특징을 간략하게 설명하고 객체지향에 대한 이해를 설명하는 예를 들어보세요.
객체지향의 특징은 속성과 동작을 추상화하는 캡슐화, 상속, 다형성으로 요약됩니다. 인간과 같은 컨테이너(클래스) 안에서 걷고, 듣고, 먹고, 말하는 인간의 행위는 클래스의 메소드에 귀속되기도 하지만 인간의 공통분모이기도 하다. 사람들의 키와 몸무게는 계급의 속성에 따라 달라질 수 있습니다.
캡슐화: 디자이너가 수정자를 통해 사용자에게 공개하고 싶지 않은 코드 부분을 private(최소 권한), public(최대 권한), protected, default(이전의 기본 유형)로 캡슐화한다는 의미입니다. 속성), 이는 클래스 객체의 권한을 제한하는 역할을 할 수 있습니다.
상속: 하위 클래스가 상위 클래스를 상속하는 프로세스입니다. 상속자는 상위 클래스의 모든 메서드 속성을 소유할 수 있습니다. 장점은 코드 재사용성을 향상시키는 것입니다. 하위 클래스는 고유한 함수나 필드만 작성하면 되며 공통 코드를 상위 클래스로 추출할 수 있습니다.
다형성: 상위 클래스를 통해 하위 클래스 메서드 속성을 통합한 다음 호출하여 하위 클래스 메서드를 임의로 사용하여 코드 볼륨을 최적화할 수 있습니다. 원칙은 하위 클래스가 상위 클래스 메서드를 다시 작성한다는 것입니다.
위 내용은 다년간의 개발 경험을 바탕으로 정리한 Java 인터뷰 질문 - (1)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!