can you create interface instance ?
Answers were Sorted based on User's Feedback
Answer / balibalo
to the writer of #29:
what you propose doesn't work because at line where you have t.wish(), Java tries to find the wish() method in the Object class (since t is of type Object). As it doesn't exist in that class, your program fails to compile.
Simple.
Uday version compiles because there is not type unconsistency, but it still is an anonymous class call, hence not a correct answer to the root question (answer being already given: NO, you cannot create an instance of an interface but you can create references of it).
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / mallesh
hey uday that is not creating intance for Test interface ,
ur implementing the interface using anonymous class
(unknoun class)
public class Test2 {
public static void main(String[] args) {
Test2 t=new Test2();
Runnable r=new Runnable() {
public void run() {
System.out.println("Hi");
}
}; r.run();
System.out.println(r.getClass().getName().toString());
System.out.println(t.getClass().getName().toString());
}
}
Output:Hi
Test2$1
Test2
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / naresh jangili
no we can't create an object to interface and also abstract because two classes are un implememnted class for every un implemented classes we can create only reference varable.
but for every implemented classes we can create objects.
eg: interface A{
public void test()
}
class B implementes A
{
public void test()
{
s.o.p("hello");
}
public static void main(String argss[])
{
B b=new B(); (object creation)
A a1=null; (reference variable)
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / abhishek pnadey
you cannot create an instance for interface
in the uday answer ..
he has not write semicolon after the new Test();
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / arnold schwarzenegger
Yes we can create an instance of Interface but not directly but by using its subclass. Just check the below code
interface check
{
public void method1();
}
abstract public class B implements check
{
public static void main(String[] args)
{
check c = new check()
{
public void method1()
{
System.out.println("interface B m2");
}
};
c.method1();
}
}
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / joginder singh
uday,,,dude where have u used or created an instance of
interface test,,,what u are doing is using a anonymous
inner class and den calling the method using instance of
that class....
dat wasnt d ques...
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / akthar
No,we can't create an object to an interface...as told uday he create a anonymous class same as Test interface ..if we remove the interface and method it is working ....so t doesnot act as object to an interface it acts as an anonymous class object...so it invoking its anonymous method..
class Main
{
public static void main(String[] args)
{
Test t=new Test()
{
public void wish()
{
System.out.println("output: hello how r u");
}
};
t.wish();
}
}
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / yousif mustafa
I think UDAY is right and he gave the right answer.
We actually couldn't instantiate the interface but we could
instantiate object from class implements this interface and
override all of its methods due to interfaces could only
have abstract methods, but also we can use anonymous inner
class to do that and must override all the abstract method
within creating the object. for ex:
interface Test {
void printA();
void printB();
}
class Inter implements Test {
@Override
void printA() {System.out.println("A from implement");}
void printB() {System.out.println("B from implement");}
}
public class A {
public static void main (String arg[]) {
Test t = new Test() {
void printA() { System.out.println("A form inner"); }
void printB() { System.out.println("B from inner"); }
};
Inter i = new Inter();
t.printA();
i.printA();
t.printB();
i.printB();
}
}
Is This Answer Correct ? | 0 Yes | 1 No |
Answer / saroj singh
we can create instance of Interface like..
interface Imployee
{
void Pay();
void Salary();
}
class SeniorSoftEngg : Imployee
{
public void Pay()
{
Console.WriteLine("Inside Pay");
}
public void Salary()
{
Console.WriteLine("Inside Pay");
}
}
class Program
{
static void Main(string[] args)
{
Imployee Emp = new SeniorSoftEngg();
Emp.Pay();
Emp.Salary();
}
}
Is This Answer Correct ? | 0 Yes | 1 No |
How to print an arraylist in java?
Why unicode is important?
What is the size of a string in java?
Explain covariant method overriding in java.
How do you override a method?
What is the code inside the public void actionPerformed(ActionEvent ae) override method in Applet [ Condition:- you have one TextField and One Button , you have to enter any color name inside the TextField, when you click on Button Your background will change according to your input color name]
Explain the difference between abstract class and interface in java?
I want to persist data of objects for later use. What’s the best approach to do so?
What is an enumeration class?
What is a java applet? What is an interface?
is it possible to add a object in a HASHMAP
What is static data type in java?