Ես գտա հետևյալ հարցը իմ ուսումնական գրքում և մի փոքր շփոթված.
Հաշվի առնելով հետևյալ կոդը, ո՞ր տարբերակը, եթե օգտագործվի /* INSERT CODE
HERE */
-ին փոխարինելու համար, հնարավորություն կտա Roamable
տիպի հղման փոփոխականին հղում կատարել Phone
դասի օբյեկտին: (Ընտրեք 1 տարբերակ:)
interface Roamable{}
class Phone {}
class Tablet extends Phone implements Roamable {
//INSERT CODE HERE
}
Ընտրանքներն են.
Roamable var = new Phone();
Roamable var = (Roamable)Phone();
Roamable var = (Roamable)new Phone();
- Քանի որ
Roamable
ինտերֆեյսը ևPhone
դասը կապ չունեն,Roamable
տիպի հղման փոփոխականը չի կարող վերաբերելPhone
դասի օբյեկտին:
Ես կարծում էի, որ ճիշտ տարբերակը 4-ն է, բայց ասում է, որ 3-ն է:
Բայց, Phone
-ը չի իրականացնում Roamable
ինտերֆեյսը, այնպես որ դուք չեք կարող հեռարձակել, չէ՞:
which option will enable a reference variable of type Roamable to refer to an object of the Phone class
է: Փոփոխականը կարող է վերաբերել միայն գործարկման ժամանակ, և դա չի աշխատի, քանի որ կառաջացնի ClassCastException: 16.02.2014