Classes
To begin with classes, let's take a look how Java would declare a class, with a couple of fields that are initialized in the class constructor. To enforce encapsulation, the class has private fields but provides get and set methods for each field, so they can be accessed and modified from outside:
public final class User { private String firstName; private String lastName; private int birthYear; public User(String firstName, String lastName, int birthYear) { this.firstName = firstName; this.lastName = lastName; this.birthYear = birthYear; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public int getBirthYear() { return birthYear; } public void setBirthYear(int birthYear) { this.birthYear = birthYear; } }
Now, the same class written in Kotlin would look like this:
class User...