Java Programming - Declarations and Access Control - Discussion

Discussion Forum : Declarations and Access Control - General Questions (Q.No. 9)
9.
Which three are valid method signatures in an interface?
  1. private int getArea();
  2. public float getVol(float x);
  3. public void main(String [] args);
  4. public static void main(String [] args);
  5. boolean setFlag(Boolean [] test);
1 and 2
2, 3 and 5
3, 4, and 5
2 and 4
Answer: Option
Explanation:

(2), (3), and (5). These are all valid interface method signatures.

(1), is incorrect because an interface method must be public; if it is not explicitly declared public it will be made public implicitly. (4) is incorrect because interface methods cannot be static.

Discussion:
14 comments Page 2 of 2.

Qwerty said:   9 years ago
Yes, you are right @Tastybean. We can use the static methods in interfaces from Java 8.

Apurva said:   9 years ago
interface Hello
{
static void fun()
{
System.out.println("This is static fun method in interface");
}
}
public class Check implements Hello
{
public static void main(String[]args)
{

Hello.fun();
}
}
//we can declare static method in java 8 you need to update your answer

Ravi Mourya said:   9 years ago
An interface can have a static method, but with a body.

Anonymous said:   7 years ago
@Suganthisakthivel.

Boolean is the return type of the method, not the access specifier.

The public is an access specifier and members of the interface should be public. If access specifier is not mentioned explicitly, it is considered as public here.

In the 5th method, no access specifier is mentioned explicitly, and since it is a method declared in an interface, the access specifier will default to 'public'.


Post your comments here:

Your comments will be displayed after verification.