java.lang.ArithmeticException 확인되지 않은 예외입니다. 자바에서. 일반적으로 java.lang.ArithmeticException:/ by zero가 발생합니다. 두 숫자를 나누려고 시도할 때 발생 분모의 숫자는 0입니다. . 산술 예외 객체는 JVM에 의해 구성될 수 있습니다. . 예시 1 public class ArithmeticExceptionTest { public static void main(String[] args) { int a =
NumberFormatException 선택되지 않음입니다. 예외 parseXXX()에 의해 발생 포맷할 수 없는 경우의 방법 (변환) 문자열을 숫자로 . NumberFormatException 많은 메서드/생성자가 던질 수 있습니다. java.lang 클래스에서 패키지. 다음은 그 중 일부입니다. public static int parseInt(String s)에서 NumberFormatException 발생 공개 정적 바이트 valueOf(String s)에서 NumberFormatException 발생 공개 정적
java.lang.ArrayStoreException 선택되지 않음입니다. 예외 다른 유형의 객체 배열에 유형의 객체를 저장하려고 할 때 발생할 수 있습니다. 일반적으로 java.lang.ArrayStoreException:java.lang.Integer가 발생합니다. String 배열이나 float 배열 등과 같은 다른 유형의 배열에 정수를 저장하려고 할 때 발생합니다. 예시 1 public class ArrayStoreExceptionTest { public static void main(String[]
예, 로컬 최종 변수에 액세스할 수 있습니다. 메서드 로컬 내부 클래스 사용 최종 변수가 힙 에 저장되기 때문입니다. 메소드 로컬 내부 클래스만큼 오래 산다. 개체가 살아 있을 수 있습니다. 메서드 로컬 내부 클래스 로컬 내부 클래스 인스턴스 인수로 전달되고 메서드에서 검색할 수 있으며 유효한 범위 내에서 사용할 수 있습니다. 메서드 로컬 내부 클래스 의 유일한 제한 사항 로컬 매개변수는 최종으로 정의된 경우에만 실행할 수 있다는 것입니다. . 로컬 매개변수를 실행하는 메소드는 메소드 실행 후에 호출될 수 있으며, 그 안에서 로컬
아니요 , 최상위 클래스를 비공개 또는 보호로 선언할 수 없습니다. . 공개 일 수 있습니다. 또는 기본값( 수정자 없음). 수식어가 없으면 기본 액세스 권한이 있어야 합니다. 구문 // A top level class public class TopLevelClassTest { // Class body } 최상위 클래스인 경우 비공개로 선언됨 컴파일러는 여기서 private 수정자가 허용되지 않는다고 불평합니다. 즉, 최상위 클래스는 비공개일 수 없습니다 , 보호된에도
예 , 우리는 다른 try-catch 블록 내의 try-catch 블록을 중첩된 try-catch 블록이라고 합니다. 중첩된 Try-Catch 블록 내부 시도 진술자 그 일치하는 catch 문이 없습니다. 특정 예외의 경우 컨트롤이 다음 try 문 catch 핸들러로 전송됩니다. 일치하는 catch 문에 대해 예상되는 것입니다. catch 문 중 하나가 성공할 때까지 계속됩니다. , 또는 모든 중첩 시도까지 진술이 완료되었습니다. 일치하는 catch 문이 없으면 자바 런타임 시스템 예외를 처리합니다. 중첩된 try 블록일
길이 배열의 인스턴스 변수입니다. 자바에서는 length() String 클래스의 메소드입니다. . 길이 배열은 개체입니다. 동일한 값의 고정된 수를 보유합니다. 페 . 길이 배열의 변수는 배열의 길이를 반환합니다. 즉, 배열에 저장된 요소 수 . 배열이 초기화되면 길이를 변경할 수 없습니다. , 따라서 길이 변수를 직접 사용하여 배열의 길이를 얻을 수 있습니다. 길이 변수 배열에만 사용됩니다. . 예시 public class ArrayLengthTest { public static void main(St
자바에서는 다른 클래스 안에 클래스를 정의할 수 있습니다. , 이러한 클래스를 중첩 클래스라고 합니다. . 비공개, 공개, 보호 또는 기본값 과 같은 액세스 수정자를 사용할 수 있습니다. 내부 클래스용 및 기본 또는 공개 외부 클래스에 대한 액세스 수정자 . 중첩 클래스에는 두 가지 유형이 있습니다. 자바로 정의되어 있습니다. 정적 중첩 클래스 비정적 중첩 클래스 정적 중첩 클래스 내부 클래스를 정적으로 정의할 수 있으므로 이러한 유형의 클래스를 정적 중첩 클래스라고 합니다. 중첩 클래스 정적 키워드로 정의됨 , 따라서 이
java.lang.ClassCastException 선택되지 않은 중 하나입니다. 예외 자바에서. 우리 프로그램에서 하나의 클래스 유형의 개체를 변환하려고 할 때 발생할 수 있습니다. 다른 클래스 유형의 개체로 . ClassCastException이 발생하는 시기 상위 클래스의 개체를 캐스팅하려고 할 때 ~으로 그것의 하위 클래스 유형, 이 예외가 발생합니다. 한 클래스의 객체를 다른 클래스로 캐스팅하려고 할 때 다른 클래스를 확장하지 않았거나 서로 관계가 없는 유형입니다. 예 class ParentTest {
메서드를 재정의할 때 몇 가지 규칙을 따라야 합니다. 예외가 발생합니다. 상위 클래스 메서드 예외를 던지지 않음, 하위 클래스 메소드 확인된 예외를 throw할 수 없습니다. 하지만 확인되지 않은 예외가 발생할 수 있습니다. . class Parent { void doSomething() { // ... } } class Child extends Parent { void doSomething() throws Illegal
StringIndexOutOfBoundsException 선택되지 않은 중 하나입니다. 예외 자바에서. 문자열은 일종의 문자 앙상블입니다. 문자열 개체 범위가 있습니다. [0, 문자열 길이] . 실제 문자열 값의 범위를 초과하는 제한을 가진 문자에 접근하려고 하면 예외가 발생합니다. 예시 1 public class StringDemo { public static void main(String[] args) { String str = "Welcome to
최종 으로 선언된 모든 메소드 슈퍼클래스에서 재정의할 수 없음 하위 클래스에 의해. 최종 방법을 재정의하려는 경우 상위 클래스의 경우 Java에서 오류가 발생합니다. 메서드 재정의 구현 규칙 메소드 선언은 재정의할 메서드의 선언과 동일해야 합니다. 클래스(하위 클래스)는 재정의를 시도하기 전에 다른 클래스(수퍼 클래스)를 확장해야 합니다. 하위 클래스는 상위 클래스의 최종 메서드를 재정의할 수 없습니다. 예시 class Car { public void brake() {  
예 , 생성자를 비공개로 선언할 수 있습니다. . 생성자를 private로 선언하면 클래스의 개체를 만들 수 없습니다. 싱글톤 디자인 패턴에서 이 비공개 생성자를 사용할 수 있습니다. . 사설 생성자의 조건 비공개 생성자 클래스의 하위 클래스를 허용하지 않습니다. 비공개 구성 r 클래스 외부에서 개체를 생성할 수 없습니다. 모든 상수 메서드가 클래스에 있으면 개인 생성자를 사용할 수 있습니다. 모든 방법이 정적 인 경우 그러면 비공개 생성자를 사용할 수 있습니다. 수업을 연장하려는 경우 개인 생성자가 있는 컴파일 시간 오류가
예 , 같은 이름의 메서드를 정의할 수 있습니다. 수업처럼. 컴파일 타임이 없거나 런타임 오류가 발생합니다. 그러나 이것은 Java의 코딩 표준에 따라 권장되지 않습니다. 일반적으로 생성자 이름과 클래스 이름은 항상 동일합니다. 자바로. 예시 public class MethodNameTest { private String str = "Welcome to TutorialsPoint"; public void MethodNameTest() { // Declared meth
정적 블록 태틱 블록 클래스 로드 시 실행됩니다. . 태틱 블록 메인() 메서드를 실행하기 전에 실행됩니다. . 정적 차단 이름이 없습니다 프로토타입에서. 클래스 로딩 시 실행해야 하는 로직이 필요한 경우 해당 로직을 정적 블록 내부에 배치해야 합니다. 클래스 로딩 시 실행되도록 합니다. 구문 static { //some statements } 예시 public class StaticBlockTest { static { System.ou
아니요 , 연장할 수 없습니다 열거 자바에서. Java 열거형은 확장할 수 있습니다. j ava.lang.Enum 클래스 암시적 , 따라서 열거형 유형은 다른 클래스를 확장할 수 없습니다. 구문 public abstract class Enum> implements Comparable, Serializable { // some statements } 열거 열거형 type은 Java 1.5 버전에 추가된 특수 데이터 유형입니다. . 열거형 상수 컬렉션을 정의하는 데 사용됩니다. , 어떤 종류의 숫자
예 , public static void main()의 순서를 static public void main() 으로 변경할 수 있습니다. Java에서 컴파일러는 컴파일 타임 또는 런타임 오류를 발생시키지 않습니다. 자바에서는 접근 수정자를 선언할 수 있습니다. 어떤 순서로든 메서드 이름이 마지막에 옵니다. , 반환 유형은 마지막에 옵니다 그리고 나서 그것은 우리의 선택입니다. 그러나 액세스 수정자(공개, 비공개 및 보호 ) Java 코딩 표준에 따라 최전선에 있습니다. 구문 public static void main(String ar
intern() 메소드 문자열 클래스의 문자열 중복 문제를 처리하는 데 사용할 수 있습니다. 자바에서. 인턴() 사용 중복 문자열 인스턴스가 소비하는 많은 메모리를 절약할 수 있습니다. . 문자열에 다른 문자열과 동일한 내용이 포함되어 있지만 다른 메모리 위치를 차지할 수 있는 경우 문자열이 중복됩니다. 우리는 JVM이 별도의 힙 메모리를 유지한다는 것을 알고 있습니다. 성능을 위한 문자열 리터럴의 경우. 문자열 리터럴을 선언하면 이 풀로 이동합니다. 다른 변수에 동일한 리터럴 값이 할당되면 새 개체를 만드는 대신 풀에서 선택됩
아니요 , 정적 생성자를 정의할 수 없습니다 Java에서 static 키워드로 생성자를 정의하려고 하면 컴파일 시간 오류가 발생합니다. . 일반적으로 정적은 클래스 수준을 의미합니다. 생성자는 초기 값을 할당하는 데 사용됩니다. 인스턴스 변수의 경우. 정적 및 생성자 모두 서로 다르고 반대입니다. 초기 값을 할당해야 합니다. 인스턴스 변수의 경우 생성자를 사용할 수 있습니다. . 정적 변수를 할당해야 합니다. 정적 블록을 사용할 수 있습니다. 예 public class StaticConstructorTest { &n
자바 프로그램은 자바 가상 머신(JVM)에서 실행할 수 있습니다. 힙 메모리 사용 데이터를 관리합니다. Java 프로그램에 더 많은 메모리가 필요한 경우 Java Virtual Machine(JVM) OutOfMemoryError 가 발생하기 시작합니다. Java에서 개체를 인스턴스화하려고 할 때 인스턴스. JVM 힙 크기 변경/증가 Java에서는 명령줄 옵션을 사용하여 JVM에서 할당한 힙 크기를 늘릴 수 있습니다. -Xms - 초기 자바 힙 크기 설정 -Xmx - 최대값 설정 자바 힙 크기 -Xss - 자바 스레드