きっかけ
@yy_yank 基本的にJava8であっても「インタフェースにはデフォルト実装を持たない」と決めたほうが良いと思っています。
インタフェースにデフォルト実装を持つのは、やむなく後方互換性を保つ場合のみ、という位置づけとして。
— CEROMETAL (@cero_t) June 1, 2015
ほほー。そーなのかー。いいきっかけだしデフォルトメソッド勉強してみよ。
多重継承とか
多重継承の問題について詳しく書いてある。
僕は「へー。優先順位みたいなのがあっていい具合になってるのかー。」とおおざっぱに理解しつつ。
Mixinって何だろう・・・と思いつつ。
悲しいパンダ
悲しいパンダ?
sad pandaの意味 - 英和辞典 Weblio辞書
へー。セクハラパンダからか。らんま1/2か。
「どやどやー!Java8のデフォルト実装使うとこんな風にかっこよく書けるぜー!とかやってゴイゴイ進むと悲しいパンダやで!」ってことか。
んで、「こんな風に書くと、どっちが使われるか分からんやろ?悲しいパンダやで!」って(気に入った。
これはなんか面白そうなことが書いてある気がするけど。今読む気力ない。
Allow default methods to override Object's methods
ということで。こんな風に思ったわけだけど。
あぁ。確かに、既存のインターフェースを拡張する以外でデフォルトメソッド使うとハマりそうだなー。 / “http://t.co/Sq48ElxPx4 » How your addiction to Java 8 default me…” http://t.co/1ynrHES3ti
— バファラティ (@bufferings) June 1, 2015
デフォルトメソッド面白かったー。たぶん使わん。寝るかー。
— バファラティ (@bufferings) June 1, 2015
朝起きたら。「そんな使い方するからじゃね?」という気持ちもあり。
「あんまり複雑にせんかったら得られるものがあるんかもなー。制約と誓約的な!(言いたかっただけ」
もう一度足下を整理しようと思って。ここに辿り着いた。
こんな使い方は悪くないかもなーと思ったり。
1. Abstract Framework Classes
2. Abstract Test Classes
3. Shared Functions
面白かったー!
まとめ
defaultメソッドでごにょごにょしたいときは、悲しいパンダに気をつけろ!
おまけ
だから、ユーティリティインターフェイスを作るときはdefaultメソッドにしましょう。ということか。(違う
— バファラティ (@bufferings) June 1, 2015