接口
定义格式
public interface 接口名称 {
// 抽象方法
// 默认方法
// 静态方法
// 私有方法
}
含有抽象方法
抽象方法:使用 abstract 关键字修饰 ,可以省略 ,没有方法体。该方法供子类实现使用。
代码如下:
public interface InterFaceName {
public abstract void method();
}
含有默认方法和静态方法
默认方法:使用default修饰 ,不可省略 ,供子类调用或者子类重写
静态方法:使用static修饰 ,供接口直接调用
代码如下
public interface InterFaceName {
public default void method() {
// 执行语句
}
public static void method2() {
// 执行语句
}
}
含有私有方法和私有静态方法
私有方法:使用 private 修饰 ,供接口中的默认方法或者静态方法调用。
代码如下:
public interface InterFaceName {
private void method() {
// 执行语句
}
}
其他成员特点
接口中 ,无法定义成员变量 ,但是可以定义常量 ,其值不可以改变 ,默认使用public static fi nal修饰。
接口中 ,没有构造方法 ,不能创建对象。
接口中 ,没有静态代码块。
多态
定义
多态: 是指同一行为 ,具有多个不同表现形式。
前提
1. 继承或者实现【二选一】
2. 方法的重写【意义体现:不重写 ,无意义】
3. 父类引用指向子类对象【格式体现】
多态的体现
格式
父类类型 变量名 = new 子类对象;
变量名 .方法名();
多态的好处
实际开发的过程中 ,父类类型作为方法形式参数 ,传递子类对象给方法 ,进行方法的调用 ,更能体现出多态的扩展 性与便利。
引用类型转换
向上转型
多态本身是子类类型向父类类型向上转换的过程 ,这个过程是默认的。
当父类引用指向一个子类对象时 ,便是向上转型。
使用格式
父类类型 变量名 = new 子类类型();
如:Animal a = new Cat();
向下转型
父类类型向子类类型向下转换的过程 ,这个过程是强制的。
一个已经向上转型的子类对象 ,将父类引用转为子类引用 ,可以使用强制类型转换的格式 ,便是向下转型。
使用格式
子类类型 变量名 = (子类类型) 父类变量名;
如 :Cat c =(Cat) a;