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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

2.继承和实现的区别?

3.多态有什么好处?

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

17 个回复

倒序浏览
刘思聪
1.接口和抽象类的区别?
接口是一种公共规范,
抽象类是含有抽象方法的类。


2.继承和实现的区别?
继承是类与类之间的关系。
实现的则是对于接口的实际引用
3.多态有什么好处?
多态对于代码的扩展性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
当从子类转到父类时候要使用向上转型,多态在代码上以向上转型的形式体现的
向下转型则是当已经向上转型的对象无法调用子类的方法,此时需要向下转型,以调用子类方法
回复 使用道具 举报
杨银万
1.接口和抽象类的区别?
接口是java的引用类型,是一种公共规范
抽象类是包含抽象方法的类
2.继承和实现的区别?
继承是类与类的关系,在java中只能单继承
实现是类实现接口的关系,在java中一个类可以实现多个接口
3.多态有什么好处?
多态可以增加代码的扩展性和便利性
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
子类或实现类要转成父类或接口时,需要用到向上转型,向上转型是自动转换的,多态的表现就是向上转型
父类或接口要转成子类或实现类时,需要用到向下转型,向下转型的格式是:子类名称 对象名 = (子类名称)父类对象;
回复 使用道具 举报
黄希

1.接口和抽象类的区别?
        相同点:
                在接口和抽象类当中,都可以定义抽象方法。抽象方法没有方法体,需要接口的实现类或抽象类的子类去覆盖重写具体实现。
                接口和抽象类都不能使用new关键字来创建对象。

        不同点:
                接口:
                        1、接口是多个类的公共规范;
                        2、接口中可以定义常量(Java 7)、抽象方法(Java 7)、默认方法(Java 8)、静态方法(Java 8)、私有方法(Java 9);
                        3、多个接口之间可以多继承;
                        4、一个类可以同时实现多个接口。
                抽象类:
                        1、抽象类一般作为父类使用,提取子类中的共有属性、行为;
                        2、抽象类中可以定义成员变量、成员方法、构造方法、抽象方法;
                        4、类之间只能单继承。

2.继承和实现的区别?
        继承是父类对子类的共性抽取,提取成员变量、成员方法等。子类可以直接访问父类中的非私有成员,而父类无法访问子类成员。
        实现是对类与接口而言,一个类可以同时实现多个接口,而且必须覆盖重写所实现的所有接口中定义的抽象方法。

3.多态有什么好处?
        多态是说一个对象的多种表现形态。
        多态的前提是在父子类的继承关系下或在类与接口的实现关系下。
        父类引用可以指向子类对象。父类中拥有多个子类的共有属性和行为,无论创建哪个子类对象,父类变量的调用方式不变。
        父类引用常作为方法的参数或方法的返回值来使用。

4.什么时候需要用到向上转型?什么时候需要用到向下转型?
        向上转型:父类引用指向子类对象。
        向下转型:将父类对象还原成本来的子类对象。
        向下转型时,有时需要先使用instanceof关键字来判断父类对象本来的子类类型,再进行转换。如果类型转换失败,会报类型转换失败异常ClassCastException。

回复 使用道具 举报
林焕

1.区别:接口是公共规范标准,是引用类型,不能直接创建对象;抽象类是对对象的共性抽取,一般作为父类使用,不能直接创建对象,通过子类来实现抽象类的方法;

2.继承是指在继承体系中,子类单继承父类的属性和行为;实现是在接口中,类与接口通过实现来建立关系,其作用类似继承,不过接口是可以多实现的;

3.多态的好处在于,无论等号右边new的是哪个子类对象,都不影响等号左边,使代码更加的简洁灵活,并有良好的扩展;

4.父类引用指向子类对象;
想要调用子类特有的方法,必须做向下转型;
回复 使用道具 举报
1.区别:接口是一种引用类型,是方法的集合
             抽象类是有抽象方法的类

2.区别:继承只有一个直接父类,而实现类可以同时实现多个接口
3.好处:使编写便利,扩展。无论右边new的是哪个子类,左边调用父类不变。
4.多态写法就是向上转型,向上转型自动转换;当提升为父类对象时,父类的对象需要调用子类对象内容时向下转型。
回复 使用道具 举报

王博


1.接口和抽象类的区别?
接口是一个公共的规范标准
抽象类是一个共性的提取


2.继承和实现的区别?
一个类只能继承一个父类,但一个类可以实现多个接口


3.多态有什么好处?
可以是代码更简洁,更有扩展性


4.什么时候需要用到向上转型?什么时候需要用到向下转型?
当子类要转成父类时,就要向上转型,主要体现于多态中,属于自动转换
当要用到子类中特有的方法时,就要向下转型,像下转型一般得用 instanceof 进行一个判断


回复 使用道具 举报
吴佳更
1.接口和抽象类的区别?
接口是多个类的公共规范。而抽象类是是共性抽取。
2.继承和实现的区别?
继承是类与类之间的关系,只能单继承。实现是一个类的接口,实现类可以有多个接口。
3.多态有什么好处?
增加代码的扩展性
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
实现多态性,多态本身就是子类类型向上转换成父类类型。
当想要使用子类自身的引用则需要向下转型。
回复 使用道具 举报
王宇晨1.接口和抽象类的区别?
接口没有构造方法,抽象类有构造方法
接口与接口可以多继承,抽象类与类多层继承
2.继承和实现的区别?
继承是共性抽取,是类与类之间的关系,子类继承父类的功能。
实现的是接口,接口是公共规范,根据接口来实现功能。
3.多态有什么好处?
提高了代码的维护性和扩展性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
从小范围向大范围转型时用到向上转型。
将父类对象,还原成本来的子类对象时,即大范围向小范围转型用到向下转型。

回复 使用道具 举报

1.接口是多个类的公共规范,接口可以多继承,不能有构造方法的。抽象类是具有抽象的方法,有构造方法。

2.继承类与类之间只能单继承的,实现可以同时实现多个接口

3.提高了代码的扩展性,提高了代码的维护性。

4.向上转型是子类转向父类好比我们的数据从一个较小的范围向一个更大的范围转换属于自动的转换,向下转型是父类转向子类好比我们的数据从一个较大的范围向一个更小的范围转换属于强制转换。
回复 使用道具 举报
吴香斌
1.接口和抽象类的区别?
抽象类对多个类相同功能的抽取,可以简化代码量,提高代码的复用性
接口是一种公共规范标准,只要满足这个标准,就可以进行互通。接口顾名思义,就有点类似起到一个连接的作用,让具有相似特征的子类,满足了接口的规范后,就可以包装成接口,实现一些方法功能。使很多方法功能变得通用。

2.继承和实现的区别?
类和接口都存在继承这一特性,类是单继承的,接口是多继承的,继承的子类拥有所有父类或父接口的属性和行为。
实现是针对接口而言,因为接口中有抽象方法存在,接口的功能要想实现,必须通过实现类对抽象方法进行重写。通过实现类的对象来实现接口的功能。

3.多态有什么好处?
实际开发中,通过将父类作为形式参数,实际传递的是子类的对象,使得方法实际调用的是子类的对象,再通过向下转型,使得父类的所有子类能实现自身和父类的功能。
这就是多态的延展性和便利性,使得一种方法变得更加通用。

4.什么时候需要用到向上转型?什么时候需要用到向下转型?
向上转型:当父类的引用指向子类的对象时候,需要用到向上转型,是自动转型的
向下转型:当实现向上转型后,被转型的子类对象再强制转换父类的引用,得到子类的引用,进而可以实现子类独有的方法和属性。向下转型前需要使用istanceof方法来检验父类的引用是否属于向下转型的子类。
回复 使用道具 举报
唐杰

1.接口和抽象类的区别?
接口是多个类的公共规范,抽象类是把多个类的共性抽取出来.

2.继承和实现的区别?
继承的直接父类只有一个但是可以多层继承,实现类可以同时对接多个接口.

3.多态有什么好处?
多态是一个类的多种形态,可以把子类当做父类来做调用.

4.什么时候需要用到向上转型?什么时候需要用到向下转型?
向上/下转型是多态的写法,当创建多个对象都是继承一个父类的时候可以用到向上转型.
当创建的对象向上转型后需要用到子类方法的时候,使用instanceof关键字来进行向下转型进行方法的调用.
回复 使用道具 举报
1.接口和抽象类的区别?
抽象类和接口都不能建新的对象 里面有抽象类方法

2.继承和实现的区别?
继承可以调用父类的方法 实现必须重写接口中抽象的方法

3.多态有什么好处?
可以提高代码复用性

4.什么时候需要用到向上转型?什么时候需要用到向下转型?
多态 无法调用子类中私有的方法
康春达
回复 使用道具 举报
彭东亮
1.接口和抽象类的区别?,
包含有抽象方法的类为抽象类,它的内部可以封装成员变量,成员方法和构造方法,而接口主要封装的是方法,它的方法包含有抽象方法、静态方法、默认方法和私有方法。
2.继承和实现的区别?
继承为子类继承父类的属性和行为,让子类具有父类的相同属性和相同行为;实行类似于继承,只是实现是接口与类之间的关系,继承是类与类之间的关系。
3.多态有什么好处?
多态是指同一行为,具有多个不同的表现形式,使得编程更简单,并具有良好的扩展性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
当父类引用只想一个子类对象的,使用向上转型;当需要实现子类特有方法时需要进行向下转型。
回复 使用道具 举报 1 0
1.接口和抽象类的区别?
接口是对行为的一种公共规范标准,抽象类是对事物(类)的共性进行抽取。
2.继承和实现的区别?
继承只能单继承用于子类对抽象类的实现,可以多层继承,实现用于类对于接口的实现。
3.多态有什么好处?
可以提高代码的复用性。有良好的扩展性
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
使用类的多态性创建父类引用指向子类对象的时候需要用到向上转型,如果需要调用子类
特有的方法的时候需要用到向下转型也就是强制类型转换
回复 使用道具 举报
今天我们学习了面向对象三大特性的最后一个多态。请按照自己的理解回答下面问题:

1.接口和抽象类的区别?    接口是一种公共规范
    抽象类是多个类的共同特性的抽取

2.继承和实现的区别?
    继承是类与类之间,功能的传递
    实现是实现一个共同规范
3.多态有什么好处?
    无论右边子类是谁,不影响左边父类.可以使我们的代码更加灵活,阅读性更高,

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


    当父类引用指向子类对象时,需要自动向上转型
    当已实现向上转型时,用到子类方法的时候,需要向下转型,用instanceof来判断向下转型的子类类型是否正确
回复 使用道具 举报
刘慧梅
1.接口和抽象类的区别?
接口就是一种公共的规范标准。
抽象类是包含抽象方法的类。
2.继承和实现的区别?
继承是共性抽取,是类与类之间的继承关系。
实现是通过“实现类”实现接口
3.多态有什么好处?
提高代码灵活性,简化代码。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
父类引用指向子类对象时用到向上转型。
将父类对象,还原成为本来的子类对象时需要用到向下转型。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马