aspose file tools*
The moose likes Beginning Java and the fly likes Variables inside Interface Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Variables inside Interface" Watch "Variables inside Interface" New topic
Author

Variables inside Interface

Thillai Sakthi
Ranch Hand

Joined: Jun 17, 2000
Posts: 102
I understand that all variables (i.e. data members) inside an interface are final and static. Going by this logic, the following program should throw an error, but works perfectly! Kindly clarify why?
interface inter1
{
int i=10;//i is final?
void dis();
}
interface inter2
{
int i=20; /* Reinitializing i again here. Compiler is expected to throw an error.*/
}
class face implements inter2,inter1
{
public void dis()
{
System.out.println("Interface 1 is called");
}
public static void main(String ar[])
{
face ob=new face();
ob.dis();
System.out.println(inter1.i);
System.out.println(inter2.i);
}
}


------------------

Regards,
Shakthi
Brent Worden
Ranch Hand

Joined: Nov 26, 2001
Posts: 50
I would guess the compiler is making the same assumption about interface variables you're making: they're all static and final. Hence, there's no need to include those modifiers. The same thing occurs with interface method scope: they're always public.

------------------
Brent Worden
http://www.Brent.Worden.org/


Brent Worden
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Variables inside Interface