Wrapper class

3 отговора 105 прегледа
#1

Wrapper class

Здравейте всички!
Скоро не бях писал във форума, ама нейсе. Ето един въпрос, който ме мъчи от известно време и се чудя, дали тук има някой, който да ми отговори. Става въпрос за обвиващия клас на void, т.е. - Void. Е, та някой може ли да се сети за някакво практическо приложения на тази чудесия (изключая рефлексия )?
Пък и никой да не може да каже на prima vista, поне да драсне какво му се върти в акъла, та да стане една дискусия. Може и да стигнем до истината ("... и тя ще те освободи и т.н. и т.н." )

Поздрави!

Отговор
в отговор на Dao Shou #2

Re: Wrapper class

Не виждам Void да има публичен конструктор. Даже на
Void var= new Void();

компилатора казва:
Void() has private access in java.lang.Void.

Т.е. освен като резултат на изпълнение на метод чрез рефлексия не виждам къде може да се ползва.
Не можеш да го инстанциираш, не можеш да го наследяваш защото празния конструктор е private.

Ползването му го виждам единствено когато получиш Object от java.lang.reflect.Method.invoke(..) да извикаш obj instanceof Void за да провериш дали метода връща void.

:-))
Поздрав

Отговор
в отговор на Cлънчeвo мoмичe #3

Re: Wrapper class

Здравей,

Не виждаш да има public конструктор, щото няма
Всичко което пишеш е съвършено вярно, само че не е нищо ново за мен. Както вече споменах, интересува ме дали няма други приложения освен рефлексията. По странното е, че не успях да открия и нищо по темата в net-a.
Иначе, че не може да се инстанцира е логично. Все пак то няма идея да държи каквито и да е данни, нали затова е Void
Този въпрос го зададох от чисто и черно, човешко любопитство.
Жалко, че не стана дискусия по темата.

Отговор
в отговор на Dao Shou #4

Re: Wrapper class

kakvo tochno iskash da diskutirash otnosno tova ?:
<snip/>
public final
class Void {

/**
* The Class object representing the primitive Java type void.
*/
public static final Class TYPE = Class.getPrimitiveClass("void");

/*
* The Void class cannot be instantiated.
*/
private Void() {}
}

Ti go kaza, Slynchevoto momiche syshto - reflection api usage only.

Отговор