Skip to Content
Kotlin📘 Ngôn ngữ Kotlin📦 Packages & Imports

Packages and Imports (Gói và Nhập)

🎯 Mục tiêu: Hiểu cách tổ chức code với Package và sử dụng Import để tái sử dụng code.


📦 Package Declaration

Mỗi file Kotlin thường bắt đầu bằng khai báo package. Nó giúp gom nhóm các class, function liên quan lại với nhau.

package org.example fun printMessage() { /*...*/ } class Message { /*...*/ }
  • Tên đầy đủ (Fully Qualified Name - FQN) của hàm trên là org.example.printMessage.
  • Nếu không khai báo package, file sẽ thuộc về default package (không có tên).

📥 Imports

Để sử dụng code từ package khác, bạn cần import chúng.

Import cơ bản

import org.example.Message // Import một class cụ thể import org.example.* // Import tất cả (scope)

Import Alias (Đổi tên khi import)

Rất hữu ích khi có xung đột tên (VD: View của Android và View của custom library).

import org.example.Message import org.test.Message as TestMessage // Đổi tên để tránh trùng fun main() { val msg1 = Message() val msg2 = TestMessage() }

Import đặc biệt

Kotlin cho phép import nhiều hơn là chỉ Class:

  • Top-level functions & properties
  • Object declarations
  • Enum constants
import kotlin.math.PI import kotlin.math.cos fun main() { println(cos(PI)) }

🛡️ Default Imports

Kotlin tự động import một số package cơ bản vào mọi file, bạn không cần import thủ công:

  • kotlin.* (Any, Int, String…)
  • kotlin.annotation.*
  • kotlin.collections.* (List, Map…)
  • kotlin.io.* (print, println…)
  • kotlin.ranges.*
  • kotlin.text.*
  • java.lang.* (trên JVM)

🛠️ Thực hành

Bài tập 1: Tổ chức package

Tạo cấu trúc package:

  • com.bumbii.utils chứa hàm log(msg: String)
  • com.bumbii.app chứa hàm main dùng hàm log
// File: utils.kt package com.bumbii.utils fun log(msg: String) = println("[Log]: $msg") // File: main.kt package com.bumbii.app import com.bumbii.utils.log fun main() { log("Hello World") }

✅ Checklist

  • Khai báo package ở đầu file
  • Import class từ package khác
  • Sử dụng as để giải quyết xung đột tên
  • Biết các default imports của Kotlin
Last updated on