千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java

如何定义接口,接口中能定义哪些方法
访问修饰符 interface 接口名{
数据类型 变量名 = 变量的值; //接口中定义的变量都是公开的静态常量
返回值类型 方法名(参数列表); //接口中定义的方法都是公开的抽象方法
default 返回值类型 方法名(参数列表){// 接口中定义的默认方法都是公开的 => JDK1.8
//代码块
[return 返回值;]
}
static 返回值类型 方法名(参数列表){// 接口中定义的静态方法都是公开的 => JDK1.8
//代码块
[return 返回值;]
}
private 返回值类型 方法名(参数列表){// 接口中定义的默认方法都是公开的 => JDK1.9
//代码块
[return 返回值;]
}
}
抽象类和接口的区别
a. 抽象类是一个类,所以抽象类只能单继承,而接口可以多继承。一个类在继承抽象类的同时还可以实现一个或多个接口
b. 抽象类拥有构造方法,而接口没有
c. 抽象类中可以定义成员变量和受保护的、受包保护的成员方法,而接口中定义的变量都是公开的静态常量,接口中定义的方法都是公开的抽象方法。
d. 接口主要用于功能性方面的描述,而抽象类更加注重的是抽象事物的描述。
多态
继承、接口就是多态的具体体现方式。多态主要体现在类别、做事的方式上面。多态是面向对象的三大特征之一,多态分为编译时多态和运行时多态两大类。
编译时多态
方法重载在编译时就已经确定如何调用,因此方法重载属于编译时多态。
运行时多态
Java虚拟机(JVM)为每个变量中引用的对象调用适当的方法。 它不会调用由变量类型定义的方法。 这种行为称为虚拟方法调用,它说明了Java语言中重要的多态性特征的一个方面。