1
00:00:01,120 --> 00:00:06,400
Salve, questo è che non vogliono sapere, sai cosa sono fuori prima, perché quello che alcuni

2
00:00:06,400 --> 00:00:12,340
lettori non sono un rapido riassunto di ciò che è stato dimostrato alcuni dei punti o gruppo migliore qui

3
00:00:12,340 --> 00:00:14,310
su soit potrebbe essere utile.

4
00:00:15,880 --> 00:00:22,720
False-Peace, abbiamo bisogno di usare un modificatore diverso, non che metodi diversi possano essere usati solo nelle

5
00:00:23,110 --> 00:00:26,270
interfacce e non possiamo usarli nelle classi.

6
00:00:26,290 --> 00:00:32,470
Tieni presente che sono metodi di istanza in modo che possano essere accessibili tramite il nome dell'interfaccia in una delle

7
00:00:32,470 --> 00:00:33,540
lezioni di follow-up.

8
00:00:33,550 --> 00:00:39,610
Esamineranno i metodi statici che possono essere definiti in un'interfaccia, il che significa

9
00:00:39,610 --> 00:00:47,580
che è possibile accedere ai metodi statici tramite l'interfacciamento con l'introduzione del formato che è Viken come

10
00:00:47,590 --> 00:00:51,030
identiche definizioni di metodi di tipi diversi.

11
00:00:51,060 --> 00:00:56,640
E sappiamo che questo potrebbe portare al problema dei diamanti,

12
00:00:56,640 --> 00:01:04,540
ma i progettisti di linguaggi hanno alcune regole di risoluzione dei conflitti per superare questo problema.

13
00:01:04,690 --> 00:01:10,760
C'è una definizione che in una superclasse ha una precedenza più alta rispetto al metodo predefinito

14
00:01:11,740 --> 00:01:19,760
in una super interfaccia e, a causa di questa stessa regola, i metodi predefiniti non possono mai sovrascrivere i metodi delle classi oggetto.

15
00:01:19,760 --> 00:01:25,610
Ora se hai un metodo predefinito in super interfaccia e se è già stato fatto in una sotto

16
00:01:25,610 --> 00:01:30,580
interfaccia e se la tua classe sta implementando l'interfaccia, allora la versione nell'aspetto dell'interfaccia secondaria.

17
00:01:30,800 --> 00:01:37,360
Quindi l'aspetto specifico del movimento è semplice poiché non è diverso da Harvin o dalla scrittura, ma esiste

18
00:01:37,360 --> 00:01:40,290
il Big Ben nella normale gerarchia di classi.

19
00:01:40,740 --> 00:01:48,420
Quindi entrambe queste regole si applicano al runtime Ruth 3 fondamentalmente risolve manualmente il problema come scenario e il contesto

20
00:01:48,420 --> 00:01:54,680
è diverso dai primi due casi, si potrebbe ricordare che può accadere se un'interfaccia fornisce un

21
00:01:54,690 --> 00:01:55,820
metodo diverso.

22
00:01:56,010 --> 00:02:01,320
E poi c'è una seconda interfaccia indipendente che fornisce sia un metodo astratto che un metodo

23
00:02:01,320 --> 00:02:03,430
predefinito con lo stesso nome.

24
00:02:03,510 --> 00:02:09,450
E questo dà alla classe concreta che sta implementando queste due interfacce che devono fornire un'implementazione

25
00:02:09,450 --> 00:02:10,640
per quella materia.

26
00:02:10,650 --> 00:02:12,530
Altrimenti viene visualizzato un errore del compilatore.

27
00:02:12,990 --> 00:02:16,280
Credo che non sarebbe un problema per il programmatore risolvere questo problema.

28
00:02:16,320 --> 00:02:22,500
La prima volta in cui vengono implementate le interfacce, tuttavia, a volte questo potrebbe non essere

29
00:02:22,500 --> 00:02:23,410
il caso.

30
00:02:23,430 --> 00:02:30,370
Ad esempio consideriamo una classe X che implementa le interfacce A e B chalta quell'interfaccia.

31
00:02:30,410 --> 00:02:34,340
Fornisce un metodo predefinito denominato go.

32
00:02:34,470 --> 00:02:40,630
Comunque diciamo in futuro se l'interfaccia B decide anche di aggiungere un metodo predefinito chiamato go.

33
00:02:41,010 --> 00:02:47,280
Quindi se ha provato a ricompilare più X, allora ci sarà un errore del compilatore e richiederebbe

34
00:02:47,280 --> 00:02:48,500
una correzione manuale.

35
00:02:48,510 --> 00:02:52,520
Tuttavia, suppongo che questa sarebbe una situazione molto rara.

36
00:02:52,680 --> 00:02:55,560
Quindi questo riguarda le strategie di risoluzione dei conflitti.

37
00:02:56,910 --> 00:03:01,980
La prossima riguarda l'invocazione esplicita offerta dal metodo predefinito in una super interfaccia.

38
00:03:01,980 --> 00:03:07,740
Per questo usiamo supercooled e deve essere genitore tipo super super.

39
00:03:07,880 --> 00:03:14,840
Non possiamo fare il nonno Doxil super o non possiamo usare solo il super-raffreddato perché invoca

40
00:03:15,020 --> 00:03:24,420
un metodo nella superclasse, non solo che la parola super non può essere usata anche nelle inquinanti che un dipartimento che può

41
00:03:24,420 --> 00:03:29,880
essere realmente estratto in una sotto interfaccia o in una sottoclasse astratta.

42
00:03:30,360 --> 00:03:36,300
Questo viene fatto se un sottotipo pensa che l'implementazione di default non sia abbastanza buona.

43
00:03:36,510 --> 00:03:40,230
Under-class i suoi sottotipi per fornire una migliore implementazione.

44
00:03:42,060 --> 00:03:48,360
Infine, non possiamo usare la finale o sincronizzare le parole chiave, ma i metodi predefiniti ti lasciano fuori dalla sua definizione.

45
00:03:48,360 --> 00:03:53,500
Un metodo diverso è fondamentalmente una diversa implementazione di un metodo di interfaccia.

46
00:03:53,790 --> 00:03:56,190
Quindi, se necessario, un sottotipo dovrebbe essere in grado di farlo.

47
00:03:56,260 --> 00:03:59,840
Ho fatto un segare un default ma non può andare bene.

48
00:04:00,030 --> 00:04:05,760
Quindi, il sottotipo potrebbe fornire una migliore implementazione, la parola chiave sincronizzata verrà introdotta nel capitolo sulla concorrenza su

49
00:04:05,760 --> 00:04:10,720
Sun, per ora non è molto buona, ma solo sapere che non può essere utilizzata.

50
00:04:11,660 --> 00:04:12,690
Quindi questo è prima.

51
00:04:12,740 --> 00:04:15,980
Non sono stati scoperti tutti i dettagli della nostra demo.

52
00:04:16,100 --> 00:04:16,450
Grazie.
