2012-01-09 38 views
41

Đây là câu hỏi kiểm tra trước đây và tôi đã tự hỏi loại nguyên thủy và loại tham chiếu nào là trước tiên? Với một mảng, tôi biết một kiểu tham chiếu là nơi mảng bao gồm các đối tượng hoặc các biến, nhưng một kiểu nguyên thủy là nơi bạn sẽ tạo mảng chỉ với int hoặc chuỗi. (phải không?)Sự khác biệt giữa các loại nguyên thủy và tham chiếu là gì?

Bạn nghĩ bạn sẽ trả lời câu hỏi trong bài kiểm tra như thế nào và được nhận tín dụng tốt? Nếu không thực sự đề cập trực tiếp đến một kiểu ARRAY nguyên thủy ... Có cách nào để làm điều đó nếu không có điều đó không? Hoặc bạn có nghĩ rằng nó sẽ là tốt để chỉ giải thích nó với mảng.

+2

'loại ..primitive là nơi bạn sẽ tạo ra mảng với chỉ int hoặc các chuỗi strings' [hay chính xác hơn: 'String's] không phải là loại nguyên thủy trong java – amit

+2

Bất cứ khi nào người hỏi loại này các câu hỏi , Tôi khuyên họ nên học C trước. – taskinoor

+0

@taskinoor C có con trỏ không tham khảo –

Trả lời

36

Đây là những loại nguyên thủy trong Java:

  • boolean
  • byte
  • ngắn
  • char
  • int
  • dài
  • phao
  • đôi

Tất cả các loại khác là các loại tham chiếu: chúng tham chiếu các đối tượng.

Đây là phần đầu tiên của Java tutorial about the basics of the language.

+3

Mặc dù đúng, tôi nghi ngờ anh ta sẽ nhận được tín dụng đầy đủ cho câu trả lời này. Tôi nghĩ rằng giảng viên sẽ nghe nhiều hơn về "đối tượng tham chiếu" nghĩa là gì, và một số ví dụ cho thấy điều gì xảy ra với biến, trong môi trường gọi, nếu bạn thay đổi nó trong một phương thức được gọi là – amit

+3

Có, nhưng tôi sẽ không lặp lại tất cả những gì đang được nói trong hướng dẫn, và tôi thích cho anh ta con trỏ đến các trang mà anh ta có thể học hơn là một câu trả lời sẵn sàng để sử dụng. –

+0

Cũng lưu ý rằng tất cả các loại mảng đều là các đối tượng và có thể được đưa vào/từ 'java.lang.Object'. – Nayuki

1

Câu trả lời ngắn là nguyên thủy là kiểu dữ liệu, trong khi tham chiếu là con trỏ, không giữ giá trị của chúng nhưng trỏ đến giá trị của chúng và được sử dụng trên/với đối tượng.

Primatives:

boolean

nhân vật

byte

ngắn

nguyên

dài

phao

đôi

Rất nhiều tài liệu tham khảo tốt để giải thích những khái niệm cơ bản.http://www.javaforstudents.co.uk/Types

2

đây là những kiểu dữ liệu nguyên thủy

  • boolean
  • nhân vật
  • byte
  • ngắn
  • nguyên
  • dài
  • phao
  • đôi

lưu trong ngăn xếp trong bộ nhớ được quản lý bộ nhớ vào loại kiểu dữ liệu đối tượng tay hoặc tham chiếu dữ liệu khác được lưu trữ trong đầu trong bộ nhớ được quản lý bằng phương pháp GC

này là sự khác biệt quan trọng nhất

+0

No. Một giá trị nguyên thủy có thể được lưu trữ trong đống hoặc ngăn xếp. Nó sẽ nằm trong heap nếu nó là một lĩnh vực của một số đối tượng. –

70

từ cuốn sách OCA JAVA SE 7

Cũng giống như những người đàn ông và phụ nữ về cơ bản khác nhau (theo John Gray, tác giả của Men Are từ sao Hỏa, đàn bà đến từ sao Kim), nguyên thủy biến và tham chiếu đối tượng biến khác nhau trong nhiều cách. Sự khác biệt cơ bản là các biến nguyên thủy lưu trữ các giá trị thực tế, trong khi các biến tham chiếu lưu trữ các địa chỉ của các đối tượng mà chúng tham chiếu đến. Giả sử rằng một người lớp học là đã được xác định. Nếu bạn tạo một biến int a, và một đối tượng đối tượng biến tham chiếu, chúng sẽ lưu trữ các giá trị của chúng trong bộ nhớ là được hiển thị trong hình 2.13.

int a = 77; 
Person person = new Person(); 

enter image description here

+3

Điều này đáng lẽ phải là câu trả lời được chấp nhận! – Solace

+2

có lẽ nó phải là câu trả lời được chấp nhận !!! –

+0

họ nên deffinetly increace thời gian trong phù thủy bạn có thể đánh dấu câu trả lời tốt nhất cho một 24h và sau đó bật lên một điều khiển để nhắc nhở bạn để đánh dấu một để mọi người không vội vàng nó. Tôi có thể đã nói cũng như các loại tham chiếu có thể lưu trữ nguyên thủy, nhưng tôi biết có nhiều hơn nó. Cảm ơn bạn. –

3

Nói tóm lại, Ở cấp thấp nhất chúng tôi có nhóm các loại nguyên thủy như "byte, short, int, long, float, double, boolean, char" và các loại tham chiếu là chủ yếu được thiết kế để nhóm các loại nguyên thủy với nhau. Vì vậy, bạn có thể có nhóm int như danh sách, nhóm char như chuỗi, lớp của nguyên thủy, vv

Một yếu tố quan trọng khác là về kiểu nguyên thủy giữ giá trị và tham chiếu giữ địa chỉ.

int item = 3; 
int item2 = item; 

Đặt item2 giữ giá trị 3 vẫn. Nhưng đối với loại tài liệu tham khảo nói

Point p = new Point(1.0, 2.0); 
Point q = p; 

q sẽ tổ chức địa chỉ của đối tượng p và trong VM của nó vẫn còn một điểm. Tương tự, địa chỉ được chuyển đến các phương thức cho kiểu tham chiếu trong khi giá trị sẽ được chuyển cho kiểu nguyên thủy. Hầu hết các khác biệt khác cũng được liên kết với giá trị và địa chỉ.

0

Nguyên thủy so vớiTài liệu tham khảo

Đầu tiên: -

loại nguyên thủy là các loại dữ liệu cơ bản: byte, short, int, long, float, double, boolean, char. Biến nguyên thủy lưu trữ các giá trị nguyên thủy. loại tham khảo bất kỳ lớp instantiable cũng như các mảng: String, Scanner, Random, Die, int[], String[] vv biến tham khảo cửa hàng địa chỉ đến các địa điểm trong bộ nhớ cho nơi dữ liệu được lưu trữ.

Thứ hai: -

Primitive loại giá trị cửa hàng nhưng loại tham khảo cửa hàng xử lý các đối tượng trong không gian heap. Hãy nhớ rằng, các biến tham chiếu không phải là các con trỏ như bạn có thể đã thấy trong C và C++, chúng chỉ là các xử lý đối tượng, để bạn có thể truy cập chúng và thực hiện một số thay đổi về trạng thái của đối tượng.

Read more: http://javarevisited.blogspot.com/2015/09/difference-between-primitive-and-reference-variable-java.html#ixzz3xVBhi2cr

2

nguyên thủy các loại dữ liệu:

  • định trước bởi ngôn ngữ và được đặt tên bởi một từ khóa
  • Tổng no = 8
    boolean
    char
    byte
    ngắn
    nguyên
    dài
    phao
    đôi

Reference/Object loại dữ liệu:

  • Created sử dụng nhà thầu được xác định trong các lớp
  • sử dụng các đối tượng truy cập
  • Giá trị mặc định của bất kỳ biến tham chiếu nào là null
  • Biến tham chiếu có thể được sử dụng để chỉ bất kỳ đối tượng nào thuộc loại được khai báo hoặc bất kỳ loại tương thích nào.
0
  1. Java có tám loại nguyên thủy: int, double, float, long, short, byte, char, boolean. Nó có nghĩa là lập trình viên không thể định nghĩa kiểu nguyên thủy mới.
  2. Loại tham chiếu do người dùng xác định, do đó, có số lượng không giới hạn trong số đó. 4 loại tham chiếu cơ bản của java là: Lớp, Giao diện, Mảng, Enums.
  3. Loại nguyên thủy thể hiện các giá trị đơn lẻ. Các loại tham chiếu các loại tổng hợp giữ không hoặc nhiều giá trị hoặc đối tượng nguyên thủy.
  4. Loại nguyên thủy yêu cầu từ một đến tám byte bộ nhớ.Khi một giá trị nguyên thủy được lưu trữ trong một biến hoặc được truyền cho một phương thức, máy tính tạo một bản sao của các byte và giữ các giá trị. Mặt khác, đối tượng có thể cần nhiều bộ nhớ hơn.
Các vấn đề liên quan