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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

2.继承和实现的区别?

3.多态有什么好处?

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

24 个回复

倒序浏览
1.接口和抽象类的区别?
答:(1)接口的成员变量只能是常量,默认修饰符:public static final。抽象类的成员变量可以是变量也可以是常量。
    (2)接口的成员方法只能是抽象方法,默认修饰符:public abstract,抽象类的方法可以是抽象方法也可以是普通方法。
    (3)接口无构造方法,抽象类有构造方法。所有类都直接或者间接继承object类,这样接口中可以无构造方法,系统也不会报错。
    (4)接口主要对行为抽象,抽象类对类抽象。
    (5)类与抽象类之间是继承关系,属于单继承,类与接口之间是实现关系,可以是单实现,也可多实现。
总结:抽象类体现的是共性的抽取和行为的约束,接口体现的是功能的拓展和行为的约束。能使用接口的尽量使用接口。

2.继承和实现的区别?
答:继承只能是单继承,但是可以多层继承。实现可以是单实现,也可以多实现,还可以继承一个类的基础上单实现或者多实现。
继承是将共性抽取成父类,让子类继承这个父类。实现是功能的拓展,根据需求实现某项功能。

3.多态有什么好处?
答:多态继承了继承和实现的维护性,有了父类引用指向子类,父类可以作为形参,子类作为实参,调用子类重写的方法,提高了代码的扩展性。

4.什么时候需要用到向上转型?什么时候需要用到向下转型
答:使用子类重写方法时,需要向上转型,提高了代码的扩展性。使用子类的特有方法时,需要向下转型。
回复 使用道具 举报

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

1.接口和抽象类的区别?
       
        1.成员区别
                接口:成员变量只能是常量 默认用public static final 修饰
                      成员方法只能是抽象方法(JDK8后有默认方法和静态方法,JDK9后有私有方法)
                                  默认用public abstract修饰
                          无构造方法,接口无具体存在,由其实现类对象进行实例化
                抽象类:成员变量 可以是变量,也可以是常量
                        成员方法 可以是抽象方法,也可以是非抽象方法
                                不能被实例化,但有构造方法,作用是用于子类访问父类的数据的初始化。
               
        2.关系区别
               
                类与类:继承,单继承或者多级继承
                类与接口:实现,单实现或者多实现,可以继承一个类的同时实现多个接口
                接口与接口:继承,单继承或者多继承
       
        3.设计理念不同
            抽象类体现的是:1.共性的抽取 2.行为的约束
        接口体现的是:  2.特性的实现,功能的拓展 2.行为的约束
                能使用接口,尽量不使用抽象类

2.继承和实现的区别?
       
        继承是抽取多个类的共性形成一个独立的类,并让这多个类与这个独立的类产生一个关系,这个关系就叫做继承。
        继承是实现多态的前提。
        实现是对一个类的功能拓展,是该类的特性。
       

3.多态有什么好处?
  
   多态是指同一个对象在不同时刻的不同状态。
   多态的前提:1.必须有继承或者实现关系
               2.必须有方法重写
                           3.有父类/接口引用指向子类/实现类对象

    多态有利于方便代码的维护
        提高代码的扩展性(方法定义时,使用父类型/接口作为参数,使用时用子类/实现类对象参与运算)
       
                          

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

   父类/接口引用指向子类/实现类对象时,就是向上转型。
   格式:父类/接口 对象名 = new 子类对象;
   
   当需要用到子类/实现类的特有功能时,需要将父类/接口引用还原给子类/实现类,这个就是向下转型。
   格式:子类 对象名 = (子类型)父类/接口引用;




























回复 使用道具 举报
1.接口和抽象类的区别?
答:(1)抽象类的成员变量可以是变量也可以是常量。接口的成员变量只能是常量,默认修饰符:public static final。
       (2)抽象类的方法可以是抽象方法也可以是普通方法。接口的成员方法只能是抽象方法。
       (3)抽象类有构造方法,接口无构造方法。
       (4)抽象类对类抽象,接口主要对行为抽象。
       (5)类与抽象类之间是继承关系,属于单继承,类与接口之间是实现关系,可以是单实现,也可多实现。
       接口:1.对功能的拓展 2.对拓展功能行为的约束
       抽象类:1.共性的抽取  2.对共性抽取方法行为的约束

2.继承和实现的区别?
答:继承只能单继承,但是可以多层继承。
    实现可以单实现,也可以多实现,也可在继承一个类的情况下载实现多个接口。

3.多态有什么好处?
答:提高代码的可拓展性

4.什么时候需要用到向上转型?什么时候需要用到向下转型
答:向上转型:当需要使用父类型作为参数时,可以将子类型转换为父类型。其中 抽象类需要被继承和接口需要实现时,采用向上转型。
    向下转型:当需要使用子类的特有方法或变量时,使用向下转型,转回原本的类型。
回复 使用道具 举报
1.接口和抽象类的区别?
接口:(1)对功能的拓展;(2)对拓展功能行为的约束
抽象类:(1)共性的抽取;(2)对共性抽取方法行为的约束
能使用接口的尽量使用接口。
答:(1)接口的成员变量只能是常量,默认修饰符:public static final。抽象类的成员变量可以是变量也可以是常量。
    (2)接口的成员方法只能是抽象方法,默认修饰符:public abstract,抽象类的方法可以是抽象方法也可以是普通方法。
    (3)接口无构造方法,抽象类有构造方法。所有类都直接或者间接继承object类,这样接口中可以无构造方法,系统也不会报错。
    (4)接口主要对行为抽象,抽象类对类抽象。
    (5)类与抽象类之间是继承关系,属于单继承,类与接口之间是实现关系,可以是单实现,也可多实现。

2.继承和实现的区别?
继承:(1)类与类之间:继承关系,只能单继承,但是可以多层继承
(2)接口与接口之间:继承关系,可以单继承,也可以多继承
实现:类与接口的之间为实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
继承是将共性抽取成父类,让子类继承这个父类。实现是功能的拓展,根据需求实现某项功能。
3.多态有什么好处?
多态继承了继承和实现的维护性,有了父类引用指向子类,父类可以作为形参,子类作为实参,调用子类重写的方法,提高了代码的可拓展性

4.什么时候需要用到向上转型?什么时候需要用到向下转型
父类/接口引用指向子类/实现类对象时,就是向上转型。
   格式:父类/接口 对象名 = new 子类对象;
   
   当需要用到子类/实现类的特有功能时,需要将父类/接口引用还原给子类/实现类,这个就是向下转型。
   格式:子类 对象名 = (子类型)父类/接口引用;

回复 使用道具 举报

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

1.接口和抽象类的区别?
答:抽象类是对具体类(子类)的共性的抽取,而接口是对具体类的特性的抽取,两者都对具体类有着约束作用。
抽象类更多的是作为具体类的一个超类,模板,而接口则是一种特殊功能的抽象方法的集合。一个子类只能继承其一个抽象父类
而,一个子类依照特殊功能的扩展需求,可实现多个接口也可以一个也没有,父类下的每个子类,不一定都拥有特殊的功能的拓展。
抽象类除了不能直接创建该类对象外,与普通的类有着相同的组成和功能,如可以有普通的成员变量,可以有普通的成员方法
而接口内的方法都是默认为抽象方法,成员变量都是final修饰的恒定常量。

2.继承和实现的区别?
答:继承中,父类中的方法,是定义且实现的,而接口实现中,在接口只进行了方法的定义声明,在实现的子类中才进行方法体的实现
继承关系中,一个子类只能允许一个单级父类,不允许多继承,而接口实现是允许多单子类多实现的

3.多态有什么好处?
答:多态,增加了程序的可拓展性,通过多态中的下转上,可以实现批量传参具有共性的对象集,再通过上转下,可以实现传参后的逐
个对象目标的访问操作。

4.什么时候需要用到向上转型?什么时候需要用到向下转型
答:在需要批量的将数据集进行传参处理时,需要用到向上转型,当传参过后,在方法体中进行逐个目标对象的访问与操作中,需要通过
向下转型后才可以操作。
回复 使用道具 举报
1.接口和抽象类的区别?
解:接口成员有常量、抽象方法、默认方法、静态方法、私有方法。抽象类成员有成员变量、常量、抽象方法、普通方法,构造方法。
      接口关键字是interface,抽象类关键字是abstract.
      接口是对功能的拓展,抽象类是共性抽取。
      接口主要是对行为的,抽象类是对对象的。
2.继承和实现的区别?
解:一个类继承一个类,但可以实现多个接口。
3.多态有什么好处?
解:提高代码的可拓展性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
解:当使用多态调用到子类的重写方法时,用到向上转型。
       当想调用子类特有的方法时,需要转型回来,用到向下转型。
回复 使用道具 举报
1.接口和抽象类的区别?
抽象类的体现:共性的抽取,行为的约束
接口的体现:功能的拓展,行为的约束

抽象类成员有:变量 常量 抽象方法 普通方法 构造方法
接口成员有:常量 抽象方法 默认方法 静态方法 私有方法

子类只能继承一个抽象类,而一个类可以实现多个接口


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

3.多态有什么好处?
多态可以给程序提供很好的拓展性

4.什么时候需要用到向上转型?什么时候需要用到向下转型
需要用多态的时候要用向上转型 子类向上转型到父类,而多态想调用子类或者实现类特有的方法时需要向下转型到子类或者实现类
回复 使用道具 举报
1.接口和抽象类的区别?
  抽象类:对共性的抽取,对共性抽取方法的约束。
  接口类:对功能的扩展,对扩展功能的约束。

2.继承和实现的区别?
答:继承只能单继承,但是可以多层继承。
    实现可以单实现,也可以多实现,也可在继承一个类的情况下载实现多个接口。

3.多态有什么好处?
答:提高了程序的扩展性,定义方法时,可以使用父类作为参数,使用时,用具体的子类来操作。

4.什么时候需要用到向上转型?什么时候需要用到向下转型
答:向上转型:当需要使用父类型作为参数时,可以将子类型转换为父类型。
              其中 抽象类需要被继承和接口需要实现时,采用向上转型。
    向下转型:当需要使用子类的特有方法或变量时,使用向下转型,转回原本的类型。
回复 使用道具 举报
1.抽象类:类共性的抽取,行为的约束。接口:功能的扩展,行为的约束
抽象类和接口都具有对类行为的约束,但抽象类更侧重对类共性的抽取,接口更侧重对于类的功能扩展
抽象类可以有普通成员方法、普通变量、常量、抽象方法(可有可无)、构造方法
接口只能有常量、抽象方法、默认方法、私有方法、静态方法
类和类之间可继承(单继承),类和接口之间可以实现(继承一个类的同时还可以多实现),接口和接口之间可以继承(多继承)

2.继承只能单继承,实现可以多实现

3.提高代码的可扩展性

4.当需要使用父类接收子类提高代码的可拓展性时,需要进行向上转型
当需要使用子类的独有方法时需要用到向下转型
回复 使用道具 举报

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

1.接口和抽象类的区别?
抽象类:1,对类中相同部分的抽取    2,约束行为
接口:     1,提高功能的拓展,           2,约束行为

2.继承和实现的区别?
类与类:继承
    1,单继承
    2,多级继承
类与接口:实现
   1,单实现
   2,多实现

3.多态有什么好处?
好处:提高程序的拓展性
弊端:不能使用子类中的特有成员

4.什么时候需要用到向上转型?什么时候需要用到向下转型
向上转型:父类引用指向子类对象
向下转型:需要访问子类中特有的成员方法,需要父类强转为子类
                子类型 对象名 = (子类型)父类引用
回复 使用道具 举报
1.接口和抽象类的区别?
接口:      1.功能的拓展    2.行为的约束
抽象类:   1.共性的抽取    2.行为的约束

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

3.多态有什么好处?
提高程序的扩展性

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

向上转型:当多个子类继承同一个父类,都要使用父类中的功能时,使用向上转型。

向下转型:解决了多态的弊端,当需要访问子类特有功能时,使用向下转型
回复 使用道具 举报
1.接口和抽象类的区别?
抽象类体现的是:(1)共性的抽取(2)行为的约束;
接口体现的是:(1)功能的拓展(2)行为的约束;
2.继承和实现的区别?
继承只能是单继承和多级继承,实现可以使多个实现。
3.多态有什么好处?
可以使用父类作为方法的参数列表里的参数,调用子类方法提高代码的扩展性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型
要调高子类方法的扩展性时使用向上转型,使父类作为参数进行传递。想使用子类中的特有方法需要向下转型。
回复 使用道具 举报

1.接口和抽象类的区别?
1. 成员区别
- 抽象类:成员变量可以是变量和常量;有构造方法;有抽象方法,也可有非抽象方法
- 接口:成员变量只能是常量;无构造方法;只能有抽象方法(默认方法等版本新特性暂不考虑)

2. 设计理念区别

- 抽象体现的是:1.共性抽取,2.行为约束
- 接口体现的是:1.功能拓展,2.行为约束

3.继承区别
- 抽象类:类只能单继承,不可多继承
- 接口:可单继承也可多继承



2.继承和实现的区别?

1.关键字不同,继承为extends,实现为implements
2.继承可以不重写方法,接口实现一定要重写方法
3.继承只能单继承,实现可以多实现

3.多态有什么好处?

可以提高程序拓展性,但不能使用子类的特有成员和方法

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

向上转型:当需要使用到所有子类共有的属性或者行为时
向下转型:需要用到子类特有的属性或者行为时
回复 使用道具 举报
1.接口和抽象类的区别?

接口一般是对功能的拓展,对拓展功能行为进行约束。接口里没有构造方法,只能有抽象方法,成员变量只有常量。常量默认被 public static final 修饰;抽象方法默认被 public abstract 修饰。
抽象类是对共性的抽取,对共性抽取方法行为的约束。抽象类里有构造方法,可以有抽象方法与普通方法,成员变量可以使变量也可以使常量。

2.继承和实现的区别?

继承关系:是类与类之间的关系,一个类只能继承一个父类,单继承,但是可以多层继承。
实现关系:是类与接口之间的关系,一个类可以实现多个接口。

3.多态有什么好处?

多态的好处是提高了代码的可拓展性。

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

当多个对象有共同特征,需要抽取相同特征并调用时就可以使用向上转型。

当对象需要使用子类的特有的成员方法时需要使用向下转型。
回复 使用道具 举报
1.接口和抽象类的区别?

接口是对功能的拓展,对子类的约束;
抽象类是对共性的抽取。对子类的约束;

2.继承和实现的区别?

继承可以单继承,也可以多层继承;
实现可以单实现,也可以多个实现;

3.多态有什么好处?

提高代码的复用性;

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

父类指向子类用向上转型;
子类要使用自己定义的方法时需要向下转型;
回复 使用道具 举报
1.接口和抽象类的区别?
接口是功能扩展,对扩展功能行为方法的约束
抽象类是共性的抽取,共性抽取方法行为的约束

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

3.多态有什么好处?
提高代码的扩展性

4.什么时候需要用到向上转型?什么时候需要用到向下转型
父类引用指向子类时用向上转型,父类引用转为子类引用时用向下转型
回复 使用道具 举报
1.接口和抽象类的区别?
        答:成员:接口没有构造方法,成员方法只能是抽象方法,成员变量是常量。抽象类有构造方法,成员方法可以是抽象方法和非抽象方法,成员变量可以是常量或者变量。子类可以实现多个接口,只能继承一个抽象类。作用:抽象类是对共性的抽取,接口是内容的拓展。

2.继承和实现的区别?
        答:继承是类与类的上下文关系,实现是类与接口的上下文关系。子类只能继承一个父类,但是可以实现多个接口。

3.多态有什么好处?
        答:提高程序可拓展性,父类对象被当作方法形参时可以接受所有的子类对象。

4.什么时候需要用到向上转型?什么时候需要用到向下转型
        答:在子类对象实参传递给父类对象形参时就会向上转型成为多态的形式,因为方法以父类对象当作形参可以接受所有的子类对象实参。由于多态形式无法访问子类的特有成员,所有需要先向下转型,才能访问子类的特有成员。
回复 使用道具 举报
1.无法具体说明的,就是抽象的。接口是一种公共的规范。
接口是对功能的拓展,对拓展功能行为的约束。
抽象类是对共性的抽取,对共性抽取方法行为的约束。
2.继承是子父类的关系,实现是指类实现接口或者接口实现接口。
3.提高代码的可拓展性
4.使用子类重写方法时,提高拓展性,用到的是向上转型。
  用到子类特有的功能的时候需要向下转型。
回复 使用道具 举报
1.接口和抽象类的区别?

抽象类体现的是:

        1.共性功能的抽取,行为的约束,

        2.有构造方法,变量,常量,有抽象方法,

        也有非抽象方法

        3.对类抽象



接口体现的是:

        1.特性功能的抽取,功能的拓展,行为的约束

        2.无构造方法,包含常量和抽象方法

        可以用接口的,尽量不要用抽象类

        3.对行为抽象



2.继承和实现的区别?

        一个类只能继承一个父类,但是能实现多个接口       



3.多态有什么好处?

        提高代码的可拓展性



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

        需要用到父类里面的方法时就需要用到向上转型

        需要用到子类里面的方法时就需要用到向下转型
回复 使用道具 举报
1.接口和抽象类的区别?
抽象类体现的是:共性的抽取和行为的约束(只能约束一个类)
接口体现的是:功能的拓展和行为的约束(可以约束多个类)

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

3.多态有什么好处?
提高代码的可拓展性

4.什么时候需要用到向上转型?什么时候需要用到向下转型
在多态中,子类要提升为父类用向上。
父类要强制转换为子类用向下。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马