저는 자바를 배우기 시작했습니다.
공부를 도와주는 친구가 방금 이걸 보내서 '이걸 그려 봐'라고 했어요.
불행히도 나는 이것을 읽을 수 없습니다. 저에게는 Perl처럼 보입니다.
class _{_ _;_(){_=this;}}
무슨 뜻이에요?
저는 자바를 배우기 시작했습니다.
공부를 도와주는 친구가 방금 이걸 보내서 '이걸 그려 봐'라고 했어요.
불행히도 나는 이것을 읽을 수 없습니다. 저에게는 Perl처럼 보입니다.
class _{_ _;_(){_=this;}}
무슨 뜻이에요?
답변:
_클래스 이름입니다. 매우 혼란 스럽지만 작동합니다!
클래스 이름이 변경됨 :
class Something {Something something;Something(){something=this;}}
그리고 정리 :
class Something {
Something something;
Something() {
something=this;
}
}
이 이상한 이름으로 미쳐 버릴 수 있습니다. :)
class _{_ __;_ ____;_(){__=this;____=__;}_(_ ___){__=___;}}
사실 유니 코드도 지원되므로 다음과 같이 유효합니다.
class 合法類別名稱{合法類別名稱(){}}
get crazy예 에는 실수가 거의 없습니다 . (1) ____=__(두 번) 뒤에 세미콜론을 추가하는 것을 잊었습니다 . (2) _메서드 를 오버로드하려는 경우 유형도 전달 _(___)해야하므로 _(_ ___). 여기에 어떻게 보일 수 있습니다 class _{_ __;_ ____;_(){__=this;____=__;}_(_ ___){__ = ___;}}. 잠시만 요. 방금 밑줄을 디버깅 했습니까? 브레이크를 할 시간입니다.
_ 클래스 이름이고 밑줄은 유효한 Java 변수 이름입니다. 코드를 들여 쓰기 만하면됩니다.
class _{
_ _;
_(){
_=this;
}
}
처럼:
class A{
A A;
A(){
A=this;
}
}
편집 : @Daniel Fischer 덕분에
유형 이름과 변수 이름은 서로 다른 네임 스페이스를 갖습니다. 예를 들어 코드
class FOO { FOO FOO; }는 Java에서 유효합니다.
요약
_ 예를 들어 클래스 이름입니다. class _{ _클래스 멤버 이름입니다. 예 : _ _;및_=this _ 생성자 이름입니다. 예 : _()기억하세요 : Java는 6 개의 서로 다른 네임 스페이스를 사용 합니다.
- 패키지 이름,
- 유형 이름,
- 필드 (변수) 이름,
- 메서드 이름,
- 지역 변수 이름 (매개 변수 포함) 및
- 라벨.
또한 선언 된 각 열거 형에는 고유 한 네임 스페이스가 있습니다. 다른 유형의 동일한 이름은 충돌하지 않습니다. 예를 들어 메서드는 지역 변수와 같은 이름을 지정할 수 있습니다 .
class FOO { FOO FOO; }공장.
data Foo = Foo | Bar Int작동 하지만 작동합니다. 물론 표시되는 위치에서 식별자의 범주를 파악할 수있는 언어에서만 작동합니다.
좋은 예입니다. Java는 유니 코드를 식별자로 허용하므로 다음과 같이 작성할 수 있습니다.
class ⲥlass {
ⲥlass claѕѕ;
}
여기서 클래스 이름의 c는 'ⲥ'(U + 2CA5 COPTIC SMALL LETTER SIMA)이고
개체 이름의 'ѕ'(U + 0455 CYRILLIC SMALL LETTER DZE).
class키워드입니다.
'class'. 객체 이름에 ASCII가 아닌 문자 'claѕѕ'가 있다고 언급했듯이 'ss'. 그래서 실제로 객체의 이름은 claѕѕ이다 cla\u0455\u0455'나는이 지 웁니다 오해 생각합니다. :)