Poll: Core java Fundamentals 1.4

  1. Which three piece of codes are equivalent to line 3?
public interface Foo 
{ 
    int k = 4; /* Line 3 */
}

final int k = 4;
public int k = 4;
static int k = 4;
abstract int k = 4;
volatile int k = 4;
protected int k = 4;

  • A. 1, 2 and 3
  • B. 2, 3 and 4
  • C. 3, 4 and 5
  • D. 4, 5 and 6

Có bạn nào trả lời bài này k :smiley:

A. 1,2 and 3 :fearful:

1 Like

Why? . Tại sao lại là 1 2 3

mặc định là public static final , còn 3 cái dưới em chưa nhìn thấy bao giờ :blush:

cuốn SCJP Sun Certification trong chương 1 nó có nói phần này ạ :blush:
"All variables defined in an interface must be public, static, and final—
in other words, interfaces can declare only constants, not instance variables. "

1 Like

Đang cày rank nên rep chậm =)))
interface thực chất là 1 class rỗng, bên trong nó chứa method nhưng method này cũng phải rỗng, nó không được phép khai báo biến nhưng nếu là public hay hằng thì được. Giống như em nói.
Vì là interface nên không đc khai báo abstact vs protected, biến volatile cũng là public nhưng nó thuộc dạng mutable có nghĩa là thay đổi được bên trong các thread nên không đc khai báo trong interface.
Đây là mình hiểu theo ý mình. Bạn nào thấy sai edit nhé.
Đáp áp A: 1 2 3 là đúng

1 Like

anh ơi, method rỗng chỉ đúng với java 7 trở về trước thôi ạ, từ java 8 có thêm default method và static method rồi ạ :blush:

1 Like

Ừ đúng rồi. :D. cái này mình không nhớ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?