기금넷 공식사이트 - 복권 조회 - 컴퓨터 전문 면접
컴퓨터 전문 면접
열네 번째 배열에 length () 메서드가 있습니까? String 에 length () 메서드가 있습니까?
배열에는 length () 메서드는 없지만 length 의 속성은 있습니다.
문자열의 메서드 길이는 () 입니다.
다섯째, 과부하와 월권의 차이. 오버로드 된 메서드가 반환 값의 유형을 변경할 수 있습니까?
메서드의 커버리지와 오버로드는 Java 다형성의 다른 표현이다. 다시 쓰기는 상위 클래스와 하위 클래스 간의 다형성의 표현이며, 다시 로드는 한 클래스에서 다형성의 표현입니다. 하위 클래스에 정의된 메서드의 이름과 매개 변수가 상위 클래스와 같으면 메서드가 다시 작성되었다고 합니다. 하위 클래스의 객체가 이 메서드를 사용하면 하위 클래스의 정의가 호출됩니다. 상위 클래스의 정의는 "차폐" 된 것처럼 보입니다. 한 클래스에 이름이 같은 여러 메서드가 정의되어 있는 경우 매개 변수 번호가 다르거나 매개 변수 유형이 다를 수 있습니다. 이를 메서드 오버로드라고 합니다. 오버로드 된 방법은 반환 값의 유형을 변경하는 것입니다.
열여섯 번째, 집합 안의 원소는 반복할 수 없다. 그렇다면 어떤 방법으로 반복할지 구분할 수 있을까? 예 = = 또는 같음 ()? 이 둘의 차이점은 무엇입니까?
컬렉션의 요소는 반복할 수 없으므로 iterator () 메서드를 사용하여 반복 여부를 구분합니다. Equals () 는 두 컬렉션이 같은지 여부를 결정하는 것입니다.
Equals () 및 = = 메서드는 참조 값이 동일한 객체를 가리키는지 여부를 결정합니다. Equals () 는 클래스에서 재정의되어 두 독립 객체의 내용과 유형이 일치할 때 true 값을 반환합니다.
열일곱 번째, 당신이 가장 자주 듣는 런타임 이상을 주세요.
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException CMMException, concurrentmodificationexception, DOMException, EmptyStackException, IllegalArgumentException, illegalargumentexception
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, undeclaredtion
열여덟 번째, 실수와 이상 사이의 차이점은 무엇입니까?
오류는 복구가 불가능하지 않고 어려울 때 복구가 심각한 문제라는 것을 의미합니다. 예를 들어, 메모리 오버플로가 있습니다. 프로그램이 이런 상황을 처리할 것을 기대하는 것은 불가능하다.
예외는 설계 또는 구현 문제를 나타냅니다. 즉, 프로그램이 정상적으로 작동한다면 결코 일어나지 않을 것이다.
19 번째, 목록, 설정, 맵이 컬렉션 인터페이스에서 상속됩니까?
목록, 설정
지도는 그렇지 않다
스물, 추상 클래스와 인터페이스의 차이점은 무엇입니까?
메서드를 선언하고 구현하지 않는 클래스를 추상 클래스라고 합니다. 몇 가지 기본 동작을 반영하는 클래스를 만들고 이 클래스에 대한 메서드를 선언하고 싶지만 이 클래스에서 이 클래스를 구현할 수 없을 때 사용해야 합니다. 추상 클래스의 인스턴스를 만들 수 없습니다. 그러나 추상 클래스 유형의 변수를 만들어 특정 하위 클래스의 인스턴스를 가리킬 수 있습니다. 추상 생성자나 추상 정적 메서드는 가질 수 없습니다. 추상 클래스의 하위 클래스는 상위 클래스의 모든 추상 메서드에 대한 구현을 제공합니다. 그렇지 않으면 추상 클래스이기도 합니다. 대신 하위 클래스에서 이 메서드를 구현합니다. 그 동작을 아는 다른 클래스는 클래스에서 이러한 메서드를 구현할 수 있습니다.
인터페이스는 추상 클래스의 변형입니다. 인터페이스에서 모든 방법은 추상적입니다. 이러한 인터페이스를 구현하면 여러 상속을 얻을 수 있습니다. 인터페이스의 모든 방법은 추상적이며 프로그램 본문이 없습니다. 인터페이스에서는 정적 최종 멤버 변수만 정의할 수 있습니다. 인터페이스 구현은 하위 클래스 구현과 비슷하지만 구현 클래스는 인터페이스 정의에서 비헤이비어를 상속할 수 없습니다. 클래스가 특수 인터페이스를 구현할 때 이러한 모든 인터페이스의 메서드를 정의 (즉, 프로그램 본문) 합니다. 그런 다음 인터페이스를 구현하는 클래스의 모든 객체에서 인터페이스 메서드를 호출할 수 있습니다. 추상 클래스로 인해 인터페이스 이름을 참조 변수의 유형으로 사용할 수 있습니다. 일반적인 동적 바인딩이 적용됩니다. 참조는 인터페이스 유형과 상호 변환될 수 있으며 instanceof 연산자를 사용하여 객체의 클래스가 인터페이스를 구현하는지 여부를 결정할 수 있습니다.
스물 한 번째, 추상적인 방법은 정적이고, 기본적이고, 동기화될 수 있습니까?
모두 아닙니다.
스물 두 번째 인터페이스는 인터페이스를 상속할 수 있습니까? 추상 클래스가 인터페이스를 구현할 수 있습니까? 추상 클래스가 특정 클래스를 상속할 수 있습니까?
인터페이스는 인터페이스에서 상속할 수 있습니다. 추상 클래스는 추상 클래스가 엔티티 클래스를 상속할 수 있는지 여부에 관계없이 인터페이스를 구현할 수 있습니다. 단, 엔티티 클래스에 명시적 생성자가 있는 경우에만 인터페이스를 구현할 수 있습니다.
스물 세 번째, 당신은 run () 또는 start () 를 사용하여 스레드를 시작하십니까?
스레드를 시작하려면 start () 메서드를 호출하여 스레드가 나타내는 가상 프로세서를 실행 가능하게 만듭니다. 즉, JVM 일정에 의해 실행될 수 있습니다. 그렇다고 스레드가 즉시 실행된다는 의미는 아닙니다. Run () 메서드는 종료해야 하는 플래그를 생성하여 스레드를 중지할 수 있습니다.
스물 네 번째, 생성자를 다시 쓸 수 있나요?
생성자는 상속할 수 없으므로 다시 로드할 수는 없지만 다시 로드할 수 있습니다.
스물 다섯 번째 문자열 클래스를 상속할 수 있나요?
String 클래스는 final 클래스이므로 상속할 수 없습니다.
26 번째, 한 스레드가 한 개체의 동기화 방법에 들어갈 때 다른 스레드가 이 개체의 다른 방법에 들어갈 수 있습니까?
아니요, 객체의 동기화 메서드는 하나의 스레드에서만 액세스할 수 있습니다.
27 번째, try {} 에 return 문이 하나 있는데, 이 try 뒤의 finally {} 에 있는 코드는 즉시 실행됩니까, 언제 실행됩니까, return 이전 또는 이후?
돌아가기 전에 실행됩니다.
28 번, 프로그래밍 질문: 가장 효율적인 방법으로 2 곱하기 8 을 계산하면 얼마입니까?
C 배경을 가진 프로그래머들은 특히 이런 질문을 하는 것을 좋아한다.
2<& lt 3
29 번째, 두 객체는 같은 값 (x.equals(y) == true) 을 가지고 있지만 해시 코드는 다를 수 있습니다. 이게 맞습니까?
아니요, 동일한 해시 코드를 가지고 있습니다.
30 번째, 객체가 인수로 메서드에 전달될 때 이 메서드는 객체의 속성을 변경하고 변경된 결과를 반환합니다. 그렇다면 이것은 값 전달입니까, 아니면 참조 전달입니까?
가치 이전입니다. Java 프로그래밍 언어는 값을 통해서만 매개 변수를 전달합니다. 객체 인스턴스가 메서드에 매개 변수로 전달되는 경우 매개 변수 값은 객체에 대한 참조입니다. 객체의 내용은 호출된 메서드에서 변경할 수 있지만 객체에 대한 참조는 변경되지 않습니다.
서른한 번째, swtich 가 byte, long, String 에 작용할 수 있나요?
스위치 (expr 1) 에서 expr1은 정수 표현식입니다. 따라서 switch 및 case 문에 전달되는 인수는 int, short, char 또는 byte 여야 합니다. 밧줄은 길지도 짧지도 않다.
32 번, 프로그래밍 문제: 단량체를 쓰세요.
Singleton 스키마의 주요 기능은 Java 응용 프로그램에 클래스의 인스턴스가 하나만 있는지 확인하는 것입니다.
일반적인 단일 인스턴스 패턴은 일반적으로 여러 가지 형태가 있습니다.
첫 번째 형식: 생성자가 비공개인 클래스를 정의합니다. 이 클래스에는 정적 전용 변수가 있습니다. 클래스가 인스턴스화되면 공용 getInstance 메서드를 통해 해당 클래스에 대한 참조를 가져온 다음 해당 메서드를 호출합니다.
공용 클래스 Singleton {
개인 Singleton(){}
//자체 내부에 자신의 인스턴스를 정의하는 것이 이상하지 않습니까?
//이는 개인용이며 내부 호출에만 사용됩니다.
개인 정적 Singleton 인스턴스 = new singleton ();
//직접 액세스할 수 있는 외부 액세스 클래스의 정적 메서드가 있습니다.
공용 정적 Singleton getInstance() {
인스턴스를 반환합니다
}
}
두 번째 형식:
공용 클래스 Singleton {
개인 정적 단일 인스턴스 = null
공용 정적 동기화 단일 인스턴스 getInstance() {
//이 방법은 위의 방법보다 낫다. 매번 객체를 생성하지 않는 것은 이번이 처음입니다.
//사용 중 인스턴스를 생성하여 효율성을 높입니다!
If (instance==null)
Instance = new singleton ();
인스턴스를 반환합니다 }
}
기타 형식:
생성자가 비공개이고 모든 메서드가 정적인 클래스를 정의합니다.
일반적으로 첫 번째 형식이 더 안전하다고 생각합니다.