我们先来看一张图:
1:虚方法关键字 virtual :
关键点:1> 子类继承父类可以重写父类中的方法,也可以不能重写。
2> 父类可以被实例化
3> 里氏替换原则 :
①子类 可以 赋值给 父类 如: CatType cattype = new Cat();
②子类可以调用父类的成员。父类只能调用自己的成员
③父类中装的是子类的对象即:CatType cattype = new Cat(); 可以把父类强转为子类 Cat NewCat = (Cat) cattype
2: 抽象方法关键字 abstract:
关键点:1> 子类继承父类必须重写父类中的方法。 重写: overrite
2> 父类是不可以被实例化 原因:
抽象方法中是不能有方法体的 即 public abstract void Hello(); 那么,我们假设抽象类可以被实例化,调用这些无方法体的方法 是没有意义的 所以 不能被实例化
3> 使用场景:
1>当我不知道方法里面的对象时候可以抽象他。
2>如果父类的方法有默认实现,则可考虑用虚方法实现多态 3>如果父类不需要被实例化,也没有默认实现,则考虑将类定义为抽象类3: 接口 关键字 Interface 默认写法 IXXXX;
关键点:1> 接口中的方法都是抽象方法。不需要访问修饰符。默认public
2> 语法格式
接口不能定义属性
接口中的方法不能有方法体,也不能有访问修饰符 接口不能被实例化 * 注意事项 一个类可以有多个接口 接口类可以继承多个接口文章是为了巩固一下学习的知识点,感谢擅码网Monkey老师教程。教程地址:百度一下 不贴出来了。