JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Success stories
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Extension functions: syntax, receiver, visibility

    Kotlin SELF
    38 level,0 lecture
    We break down extension functions in Kotlin: how the syntax fun Type . method () works, what a receiver is and what this means inside an extension, what restrictions visibility imposes ( private/ protected), why a member method wins on conflict, and why extensions are selected statically (this is not override). We illustrate all ideas with a mini CLI example for expense tracking.
    Open
  • Extension properties

    Kotlin SELF
    38 level,1 lecture
    We break down extension properties in Kotlin: why this is not “adding a field”, how get()/ set() work, where computed properties fit well (input normalization, money formatting, output strings), why “heavy” getters and side effects are dangerous, and also how (and why cautiously) to make a var via external storage like MutableMap.
    Open
  • operator in Kotlin: plus, compareTo, plusAssign

    Kotlin SELF
    38 level,2 lecture
    We break down Kotlin operator conventions: how expressions like a + b are translated by the compiler into a call to a . plus ( b ), how += works (via plusAssign or via reassignment), and why comparisons </ > are based on compareTo. Using the Money type as an example, we discuss surprise-free design, readability, and common mistakes.
    Open
  • Indexing operators get/set: obj[i], obj[i, j]

    Kotlin SELF
    38 level,3 lecture
    We break down how, in Kotlin, the square-bracket syntax is turned by the compiler into calls to get/ set, and why the operator modifier is needed. We look at indexers in the standard library ( List, MutableList, Map, MutableMap), design our own indexers using the sample learning app BudgetBuddy, discuss contracts (fail-fast vs nullable), and the multi-index variant obj[i, j].
    Open
  • Mini API on top of extensions and operators

    Kotlin SELF
    38 level,4 lecture
    We break down how to design a small “convenience layer” over a domain in Kotlin using extension functions and extension properties, operators ( += / +), and targeted infix calls. Using expense tracking as an example, we build a mini model ( Expense, Money), a report accumulator ( Report), and a readable scenario in main; we also discuss the criteria “cheap,” “no surprises,” and “the name makes the meaning obvious,” plus common mistakes when overloading conveniences.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success stories
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush