You will have to reference the two variables as A.a
and B.a
respectively;
Ambiguity in interfaces
Question
interface A
{
int a = 10;
}
interface B
{
int a = 10;
}
class Access implements A, B
{
}
class Demo
{
public static void main(String args[])
{
Access ac = new Access();
System.out.println(ac.a); // line #1
}
}
Line #1 causes ambiguity. How do I remove it? Is it not possible to have same variable name of different interfaces?
Solution
OTHER TIPS
System.out.println( ((A)ac).a);
or
System.out.println( ((B)ac).a);
If you have variables which are conflicting then you need to use resolution to access value of particular interface.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow