개체가 암시 적으로 어떻게 생성되는지 이해할 수 없습니다.java가 객체를 암시 적으로 만드는 방법은 무엇입니까? String 클래스의 경우와 마찬가지로
예 :
String s = "implicit instantiation";
내가 그 개체를 암시 적으로 생성 할 수 있습니다 내 자신의 클래스를 만들 수 있습니까?
개체가 암시 적으로 어떻게 생성되는지 이해할 수 없습니다.java가 객체를 암시 적으로 만드는 방법은 무엇입니까? String 클래스의 경우와 마찬가지로
예 :
String s = "implicit instantiation";
내가 그 개체를 암시 적으로 생성 할 수 있습니다 내 자신의 클래스를 만들 수 있습니까?
아니요. 문자열 인스턴스화는 컴파일러에서 암시 적으로 처리됩니다. String 및 Array 클래스에만이 속성이 있습니다.
String greeting = "Hello world!";
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
는 암시 적으로 원시 래퍼 타입의 객체를 생성 할 수 있지만, 그 또한 컴파일러에 의해 처리하는 특별한 경우입니다. 이 능력으로 자신 만의 클래스를 만들 수는 없습니다.
Boolean b = false;
Integer i = 0;
Double pi = 3.1416;
우리는'Integer i = 5'도 할 수 없습니까? –
@Shashwat 오, 그래, 내가 추가하자. –
불행히도 그럴 수 없습니다!
String s = "implicit instantiation"
: 당신은 자바 언어의 모든 연산자를 오버로드 할 수 없기 때문에 문자열 클래스의 경우
Foo myFoo = 1
같은 일을 할 수있는 방법이 없기 ++ C 또는 C에
반대
은 개발자를위한 설탕입니다. 장면 뒤에는 컴파일러가 "더러운"작업을 수행하고 (문자열 풀이 있다는 것을 기억하십시오)
String s = new String("implicit instantiation")
같은 당신은 생성자와 생성자 자사의 구조를위한 특별한 방법이 필요하고 방법을 초기화 객체의 모든 예를 들어 ... 다른 배열과 같은 유형, 또는 숫자에 대한 래퍼
을 적용합니다. 예 :
String s; // Is not initialized and it's nos constructed.
그럼 Java에서 새 개체를 어떻게 구성합니까? new operator
으로 쉽게 새 개체를 만들 수 있습니다!
s = new String("qwe"); // New object constructed
하지만 여기에는 많은 초보자들이 혼란에 빠지기 마련입니다. 왜 내가이 작업을 수행 할 수 있습니다 String
자바의 특별한 경우이고 당신이 클래스에있는 모든 원시 변수와 같은 new operator
을 추가 할 필요가 없습니다
String s= "asdfasd;"
때문입니다. 예 :
Integer i = 3;
Double d = 3.3d;
등등.
요약하면 할 수 없습니다. –
'문자열 '은 문자열 리터럴, 연결 연산자,'스위치 '경우에 사용할 수있는 능력 등 주변에 구문론적인 설탕이있는 특수한 객체입니다. 문자열에만 해당 기능이 있습니다 (배열에는 "리터럴"도 있음). – RealSkeptic