public class RealOne implements Face < String > { @Override public void process ( String s ) { // 实现类2 public class RealTwo implements Face < Integer > { @Override public void process ( Integer integer ) {

抽象类与泛型

// 接口类
public interface Face<T> {
    void process(T t);
// 抽象类
public abstract class AbstractClass<T> implements Face<T> {
    public abstract void deal(T t);
// 实现类3
public class RealThree extends AbstractClass<Short>{
    @Override
    public void deal(Short aShort) {
    @Override
    public void process(Short aShort) {
                    接口与泛型// 接口类public interface Face&lt;T&gt; {    void process(T t);}// 实现类1public class RealOne implements Face&lt;String&gt; {    @Override    public void process(String s) {    }}// 实现类2public class RealTwo        implements Face&lt;Intege
				
一:抽象类和抽象方法 1.如果一个类不与实际的事物相联系,而只是表达一种抽象的概念,只是作为他的派生类的一个基类,这样的类就叫做抽象类,在抽象类中声明方法时,如果加上abstract就是抽象方法。 2.抽象类和非抽象类的区别: 1)抽象类不能被直接实例化,需通过写一个子类继承该抽象类,子类实例化。 2)抽象类中可以包含抽象方法,但是非抽象类中不可以。 3)抽象类不能被密封(seal)。 抽象类的定...
抽象类里面的抽象方法 在继承的时候必须要定义这些方法 如果子类继承抽象类必须得实现里面的抽象方法 如果把抽象类当做接口实现的话必须得实现抽象类里面定义的所有属性和方法。 多态就是父类定义一个方法不去实现,让继承他的子类去实现,每个子类有不同的表现。 多个子类继承一个父类,每个子类的抽象方法逻辑不一样 延迟初始化 定义变量没有赋值的时候需要在前面加late require 参数不能为空
为什么要接口抽象类混合使用? 接口抽象类都是共性的高级抽象,但是接口有个缺点,如果实例类都实现接口,必须复写接口所有的方法,如果实例类继承抽象类则可以不完全复写所有的方法,那么,实例类可以复写抽象父类的任意一个方法,就不用复写那些多余的方法。 我们可以把程序设计成如图:
1)抽象类 在定又一个类的时候,经常会碰到这样的情况:些方法对于所有的对象都是合适的,但 有些方法只对某个特定类的对象才有意义。这些方法在这个类中是不能实现的,把这种类 定义为抽象类。 某些类在现实世界中不能直接找到对应的实例。如动物类,不可能为它找到一个对应的 事物,因为现实世界中只有猫、鸟、青蛙等具体动物,而它们都是动物的子类,这样的类称为抽 抽象类一般没有足够的信息来描述一一个具体的对象。抽象类只用于继承,不能用于创建 对象。一个抽象类一般包括-一个或多个抽象方法(只有方法说明,没有方法体)