首先接口不能实例化对象。
但是有这个例子,List<String> str=new ArrayList<>();
list通过实现类造了一个对象,应该是多态性导致的
栗子:
/**
* @author admin
* @version 1.0.0
* @ClassName practice.java
* @Description TODO
* @createTime 2021年08月11日 18:38:00
*/
public class practice {
public static void main(String[] args) {
jiekou arr=new lei();
arr.method();
//arr.method1() 错误,因为不能调用实现类自带的方法;向上转型,屏蔽实现类特有的方法;
lei.method2();//类调用静态方法
}
}
interface jiekou{
public void method();
}
class lei implements jiekou{
@Override
public void method() {
System.out.println("你好");
}
public void method1(){
System.out.println("尼玛的");
}
public static void method2(){
System.out.println("我去哦");
}
}
本文通过一个具体的代码示例解释了接口不能直接实例化,但可以通过实现类来创建对象,展示了Java中的多态性特性。在示例中,接口`jiekou`被类`lei`实现,`lei`实例化后可以调用接口定义的方法,但无法调用其独有的方法`method1()`,体现了向上转型后隐藏实现类特定方法的概念。

被折叠的 条评论
为什么被折叠?



