多态
概述:多态是继 封装, 继承,面对对象的第三大特征
定义:指同一行为,具有多个不同表现形式\
多态中成员访问特点
1.成员方法:编译时期看父类,运行看子类
3.不能访问子类特有属性(成员方法, 成员变量)
2.成员变量 :编译时期看父类,运行时期看父类
不使用多态:
好处能够使用子类特有的方法和属性
弊端:扩展性差
多态好处和弊端:
弊端:不能使用子类特有属性和行为
好处:扩展性强
接口
概述:接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法
定义格式
public interface 接口名称{ //抽象方法 } 抽象方法 :使用 abatract 关键字修饰,可省略 public interface InterFaceName { public abstract void method(); }
抽象方法的实现:
-
public interface LiveAble{ //定义抽象方法 public abstarct void eat(); public abstartct void sleep(); }
定义实现类:
public class Animal implements LiveAble{
@Override public void eat(){ System.out.println("吃东西"); } @Override public void sleep(){ System.out.println("晚上睡"); }
}
定义测试类:
public class InrterfaceDemo{
public static void main(String []ARGS ){ //创建子类对象 Animal a=new Animal(); //调用实现后的方法 a,eat(); a.sleep(); }
}
输出结果: 吃东西 晚上睡
##### 注意: - 1.子类/实现类,必须覆盖重写父类/接口中的所有抽象方法 - 2.只要有剩余的抽象方法没有重写,该类必然是一个抽象类 - 3.父类和接口中有重名的抽象方法,只需要覆盖重写一次 **请写出接口和抽象类的区别** 成员区别 抽象类: •
变量,常量;有抽象方法,也有非抽象方法
• 接口:
常量; 抽象方法
关系区别 类与类: 继承,单继承 类与接口 实现,可单实现,也可多实现 接口与接口
继承,单继承,多继承
设计理念区别: 抽象类: 对类抽象,包括属性,行为 接口 对行为抽象,主要是行为