Khi tôi bắt đầu lập trình OO nhiều năm trước, tôi đã đạt được ấn tượng rằng các biến (nếu đó là từ đúng) là "nguyên thủy" (int, double, etc.) hoặc các đối tượng hạng nhất (String, JPane, v.v.) . Điều này được củng cố bằng một câu trả lời gần đây về nguyên thủy trong Java và C# (@Daniel Pryden: Are primitive types different in Java and C#?). Tuy nhiên không biết liệu C# ValueTypes là nguyên thủy, các đối tượng hoặc một số con thú khác như các đối tượng hạng hai. Tôi thấy rằng SO chỉ sử dụng một thẻ first-class
để có thể nó không còn là một thuật ngữ hữu ích nữa.Đối tượng hạng nhất trong Java và C# là gì?
Tôi không tìm thấy the Wikipedia article hữu ích ("Bài viết này cần được sự chú ý của chuyên gia về chủ đề"). Tôi muốn biết ơn về phân loại và sử dụng hiện tại các thuật ngữ, chủ yếu liên quan đến Java và C# (mặc dù có thể các ngôn ngữ khác sẽ làm sáng tỏ).
Làm rõ: Tôi muốn hiểu thuật ngữ hạng nhất và phạm vi sử dụng của nó là gì.
** Tóm tắt **: Sau 5 câu trả lời (30 phút) hình ảnh dường như không có sự nhất trí về "hạng nhất" (ngoại trừ việc nó không hữu ích ở đây) và sự phân biệt giữa nguyên thủy và đối tượng trong C# bị mờ (nguyên thủy có thể có phương thức). Vì vậy, bây giờ tôi không biết những gì một "nguyên thủy" là một trong hai! Nhưng tôi nhận được một ý tưởng rõ ràng hơn về cách thức 'int' C# và' int' Java khác nhau. –