2016-06-10 4 views
0

개인용 및 보호용 클래스가 잘못된 수식어가되는 이유는 알고 있지만 왜 기본값은 받아들이지 않는 것입니까? 액세스 수정자를 지정하지 않으면 default이 할당됩니다. 하지만 명시 적으로 default class Student과 같이 입력하면 구문 오류가 발생합니다.클래스에 대한 기본 액세스 한정자를 지정할 수없는 이유는 무엇입니까

+0

이 링크를 통해 이동하시기 바랍니다 레벨을 "기본값"으로 설정하십시오. 액세스 레벨은 "공개", "개인", "보호 된"또는 "패키지 - 개인"의 4 가지 중 하나입니다. 마지막 키워드는 키워드가 아니며 한정자가없는 경우에만 지정할 수 있습니다. 기본값은 어떤 수정 자 (modifier)가 없을 때 어떤 것인가는 물건이 무엇이고 그것이 어디에 있는지에 달려 있습니다. 일반적으로 package-private이지만 인터페이스의 멤버는 기본적으로 public이며 enum 생성자는 기본적으로 private입니다. – Boann

답변

1

Java의 기본 액세스 한정자는 액세스 한정자를 생략하여 사용할 수 있습니다. Java 8은 새로운 default 키워드를 도입하여 인터페이스의 메소드에 대한 기본 구현을 제공하지만 메서드의 선언에서 이름과 위치가 혼동스럽지 만 액세스 한정자와는 아무런 관련이 없습니다.

+0

Java 8 인터페이스를 제외하고'default' 키워드의 유스 케이스를 제공 할 수 있습니까? – Manoj

1

클래스가 수정 대중 선언 될 수있다 'nomodifier'하지만 대신 nomodifier의 '기본'의 의미 키워드

그러한 액세스가 없습니다 https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

+0

그러나 Java는 키워드로'default'를 제공합니다. 기본 인터페이스 인 인터페이스를 제외하고 어디에서 사용합니까? – Manoj

+0

@Manoj'default' 키워드의 다른 유일한 사용법은 ['switch' 문에 있습니다] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts) /switch.html). – Boann

관련 문제