【はじめてのKotlinプログラミング(24)】CountDownTimer(前編)で「無名クラス」という単語が出てきたので、ここで少し解説。「無名クラス」とは何ぞや?「object」とは何ぞや?と
まず、そもそも論ですが、クラスにしろ、変数にしろ、「使いたいんだったら名前を付ける」
これが大前提です。例えばクラスには、プログラムで使いたい場合はこのように名前をつけてから始めます
↓↓↓
class 名前 {}
みたいな。そして本来はこの「名前」を使ってプログラムを書いていくわけです。ただし、先日やったCountDownTimer()クラスでは、こいつにまだプログラムの中で何も名前を付けてない(記述していない)のに、変数に代入して使おうとしています。そういう時は、名前の代わりに・・・
val 変数名 = object{}
とつけてあげましょうね、っつー、ただそれだけのことです。
objectってつけることで、objectってのが(本来つけるべき)名前の代わりになってくれる、とかそんな感じです。
なので、今回も、CountDownTimer()クラスにはまだ名前を指定していないので、その代用としてobjectってつけてあげることで
val timer = object :CountDownTimer(){
}
このように、変数(ここではtimer)にobjectっていう名前のカウントダウンクラス」が代入できているわけです。
※ただし、CountDownTimer()はこのように使うことが多いので、ようわからんって人はひとまず理屈はともかく「CountDownTimer()とセット」で覚えておいてOKです。こういうのは使っていくうちに自然と覚えていくものなので。