美文网首页
接口,抽象类,内部类

接口,抽象类,内部类

作者: GS的BLOG | 来源:发表于2017-05-16 09:18 被阅读8次

    1.多重继承

    Java 并不支持多重继承,多重继承是指一个类可以继承多个类,也就是一个类可以有多个直接父类。

    抽象类和接口的比较

    1.一个类可以实现众多接口,但是只能继承一个抽象类。
    2.抽象类可以有非抽象的方法,即可以有已经是想的方法,继承它的子类可以对方法进行重新覆写;而接口中定义的方法必须全部为抽象方法。
    3.在抽象类中定义的方法,它们的修饰符可以是public、protected、private,也可以是默认值;但是接口中定义的方法全是public的。
    4.抽象类可以有构造函数,接口不能。两者都不能实例化,但是都能通过它们来翠芳子类对象或是实现类的对象。可以说它们都可以实现多态。

    1.在 Java 中,对象是多态的,定义一个 Animal 对象,它 可以存放 Animal 对象,也可以 存放 Animal 的子类 Tiger、Fish 的对象。
    存放在 Animal 数组中的 Tiger 对象和 Fish 对象在执行 breath 方法时会自动地调用原来对 象的方法而不是 Animal 的 breath 方法,这就是动态 定。
    2.当 需要 问这些方法时需要用到类型 换       
    

    2.final关键字

    1.编写程序时可能需要 类定义为不能继承的,即最 类,或者是有的方法不 能被子类 继承,这时候就需要使用 final 关键字来声明

    1.//类声明为final
    final class  类名  extends 父类  { 
    //  类体
    }
    2.//方法声明为final
      修饰符  final  返回值类型     方法 (){ 
    //方法 体
    }
    

    3.抽象类

    1.抽象类是指在类中定义方法,但是并不去实现它,而在它的子类中去具体的实现。定义的抽象方法不过是一个方法占位符。继承抽象类的子类必须实现 类的抽象方法, 除非子类也被定义成一个抽象类。
    2.在抽象类中的方法不一定是抽象方法,但是含有抽象方法的类一定是抽象类
    3.抽象类和普通类不同,抽象类不可以实例化,但是可以创建抽象类的对象变量,只是这个变量只能用来指向它的非抽象子类对象(动态绑定)

    修饰符  abstract  返回值类型     方法 ();
    

    4.Object对象

    object类可以存放任何对象

    public class Test {
    public static void main(String[ ] args) {
    }
    // 建一个存  Object   的 
      Object [ ]object=new Object[3]; 
    //多态
    Animal animal1 = new Fish();
    Animal animal2 = new Tiger();    
    object[0]=animal1; 
    object[1]=animal2;
    //动态绑定
    object[2]=new String("String"); 
    //强制转换
    ((Fish) object[0]).swim();
    }
    

    相关文章

      网友评论

          本文标题:接口,抽象类,内部类

          本文链接:https://www.haomeiwen.com/subject/coctxxtx.html