Skip to Main Content
Kotlin Programming: The Big Nerd Ranch Guide, First Edition
book

Kotlin Programming: The Big Nerd Ranch Guide, First Edition

by Josh Skeen, David Greenhalgh
July 2018
Intermediate to advanced content levelIntermediate to advanced
400 pages
12h 14m
English
Big Nerd Ranch Guides
Content preview from Kotlin Programming: The Big Nerd Ranch Guide, First Edition

in and out

To further customize your generic type parameters, Kotlin provides the keywords in and out. To see how they work, create a simple generic Barrel class in a new file called Variance.kt:

Listing 17.15  Defining Barrel (Variance.kt)

class Barrel<T>(var item: T)

To experiment with Barrel, add a main function. In main, define a Barrel to hold a Fedora and another Barrel to hold Loot:

Listing 17.16  Defining Barrels in main (Variance.kt)

class Barrel<T>(var item: T)

fun main(args: Array<String>) {
    var fedoraBarrel: Barrel<Fedora> = Barrel(Fedora("a generic-looking fedora", 15))
    var lootBarrel: Barrel<Loot> = Barrel(Coin(15))
}

While a Barrel<Loot> can hold any kind of loot, the particular instance defined here ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Kotlin Programming: The Big Nerd Ranch Guide, 2nd Edition

Kotlin Programming: The Big Nerd Ranch Guide, 2nd Edition

David Greenhalgh, Josh Skeen
Android Programming: The Big Nerd Ranch Guide, 4th Edition

Android Programming: The Big Nerd Ranch Guide, 4th Edition

Bill Phillips, Chris Stewart, Kristin Marsicano, Brian Gardner
Programming Kotlin

Programming Kotlin

Venkat Subramaniam

Publisher Resources

ISBN: 9780135165188