A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区 黑马粉丝团   /  2018-10-15 21:19  /  1099 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天我们学习了面向对象三大特性的最后一个特性:多态。请按照自己的理解回答下面问题:

1.接口和抽象类的区别?

2.继承和实现的区别?

3.在什么样的前提条件下我们能够使用多态?使用多态有什么好处?

4.什么时候需要用到向上转型?什么时候需要用到向下转型?

4 个回复

倒序浏览
1.接口和抽象类的区别?
   接口类和抽象类不能直接创建对象,接口类和抽象类的最终子类要覆盖重写所有抽象方法,
   区别是:接口类是实现;抽象类是在继承里


2.继承和实现的区别?
  继承的子类只能有一个直接父类,实现类则可以有多个接口;
  继承的子类可以调用静态成员方法,而接口的静态成员方法只能由接口类调用


3.多态有什么好处?
  多态的对象比较灵活,可以调用多个类的成员,当要求不明确时,可以用子类的多态把子类当做范围更广的父类时


4.什么时候需要用到向上转型?什么时候需要用到向下转型
  当子类或实现类需要实现父类或接口类的私有方法时;
  当向上转型后,想调用子类特有的成员方法时
回复 使用道具 举报
1.接口和抽象类的区别?
   接口类和抽象类不能直接创建对象,接口类和抽象类的最终子类要覆盖重写所有抽象方法,
   区别是:接口类是实现;抽象类是在继承里


2.继承和实现的区别?
  继承的子类只能有一个直接父类,实现类则可以有多个接口;
  继承的子类可以调用静态成员方法,而接口的静态成员方法只能由接口类调用


3.多态有什么好处?
  多态的对象比较灵活,可以调用多个类的成员,当要求不明确时,可以用子类的多态把子类当做范围更广的父类时


4.什么时候需要用到向上转型?什么时候需要用到向下转型
  当子类或实现类需要实现父类或接口类的私有方法时;
  当向上转型后,想调用子类特有的成员方法时
回复 使用道具 举报
1.接口和抽象类的区别?
答:抽象类有构造方法而接口没有。
抽象类有静态代码块而继承没有。
抽象类的成员变量既可以是变量,也可以是常量,而接口的成员变量只能有全局常量(默认修饰符为public static final)。
抽象类的成员方法既可以是抽象的,也可以是非抽象的,而接口只能含有抽象方法。因为接口主要是用来扩展功能的,所以没有具体的实现方法。
接口和抽象类最终都要被子类重写。
2.继承和实现的区别?
答:继承的话只能继承一个父类,而实现的话可以实现多个接口。
抽象类就是从父类中得到非私有成员,当继承父类的方法时,所有抽象方法必须重写,普通方法可以改写。
被实现类提供了一种规范,让子类完成标准行为。它不允许有非抽象方法,并且不允许派生类改写任何东西。
继承和实现都不能被实例化。
接口继承接口,可以不实现父接口中的方法,可以声明自己的新方法。
3.在什么样的前提条件下我们能够使用多态?使用多态有什么好处?
答:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。也就是用基类的引用指向子类的对象。
多态可以用在方法的参数中和方法的返回类型中。
多态可以解决项目中紧耦合的问题。当我们需要增加功能时,应用程序不必为每一个派生类编写调用功能,只需要对抽象基类进行处理即可,大大提高代码的可扩充性和可维护性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
在实现的时候,如果我们要使用父类的方法时,就要引用父类,此时我们可以向上转型,将地址指向父类,这样子类就可以调用父类的方法。当子类向上转型后,如果想调用子类的方法,就要向下转型,将地址指向子类。

评分

参与人数 1技术分 +1 收起 理由
厦门校区 + 1 赞一个!

查看全部评分

回复 使用道具 举报
1.接口和抽象类的区别?
        1.抽象类中可以不包含抽象方法,但是接口的默认方法是抽象方法,即使不写他也是
        2.实现抽象类时,抽象类中子类必须覆盖重写父类的所有抽象方法,非抽象方法可以选择不继承;
          实现接口时,因为接口默认都是抽象方法,那么接口的实现类必须覆盖重写接口的所有方法
        3.抽象类中可以有私有的成员变量和成员方法,接口中的方法都被默认修饰为抽象方法,成员变量也用
        4.一个类只能继承一个抽象类,但是,一个类可以实现多个接口
2.继承和实现的区别?
        继承: 如果多个类的部分功能相同,可以定义该功能一个抽象类(可以看做是一个模板),
                  并把他们相同的部分定义在一个抽象类里面,要想是引用这些功能,那么就去继承他.
        接口: 是定义好的一套规范,想使用它时必须遵循这套规范去实现他的功能

3.在什么样的前提条件下我们能够使用多态?使用多态有什么好处?
        同一行为有多种表现方式的情况下使用多态.
        执行时是子类重写的方法,可以通过多种表现方式让代码变得更加简单,更好扩展

4.什么时候需要用到向上转型?什么时候需要用到向下转型?
        父类引用指向其中一个子类的时候用到向上转型.
        当向上转型后需要用到子类特有的方法和属性时,需要向下转型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马