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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.接口和抽象类的区别?
定义格式不一样,接口不能有构造方法且只能创建常量;抽象类可以有构造方法且初始化变量,还能写静态代码块
2.继承和实现的区别?
继承只能单继承,实现可以多实现;
3.多态有什么好处?
提升代码复用性,减少了重写方法的次数
4.什么时候需要用到向上转型?什么时候需要用到向下转型
为了减少子父类代码的重复率需要用到向上转型;在需要调用子类原先特有的方法和参数使用向下转型,需要instance判断是否转型异常。
回复 使用道具 举报
本帖最后由 艾卡西亚的惊喜 于 2018-12-11 21:36 编辑

一:接口和抽象类的区别:
       1、抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
  2、抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
  3、接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
  4、一个类只能继承一个抽象类,而一个类却可以实现多个接口。二:继承和实现的区别?
1、修饰不同
不同的修饰符修饰;实现:interface,继承:extends;
2、数量不同
Java只支持接口的多继承,不支持“继承”的多继承;而继承在java中具有单根性,子类只能继承一个父类。
总结为:单继承,多实现。
3、属性不同
在接口中只能定义全局常量(static final),和无实现的方法;而在继承中可以定义属性方法,变量,常量等...
4、调用不同
某个接口被类实现时,在类中一定要实现接口中的抽象方法;而继承想调用那个方法就调用那个方法,毫无压力。
三:多态有什么好处?
1、提高了代码的扩展性。
[color=rgba(0, 0, 0, 0.75)]2、提高了代码的维护性。
[color=rgba(0, 0, 0, 0.75)]四:什么时候需要用到向上转型?什么时候需要用到向下转型
1、当父类引用指向一个子类对象时需要用到向上转型。
2、一个已经向上转型的字类对象,将父类引用转为子类引用时使用向下转型。

玉树临风的林少伟。


回复 使用道具 举报 1 0
1.接口和抽象类的区别?
答:1.接口用interface关键字修饰,抽象类用abstract关键字修饰;
        2.接口和抽象类都不能建立对象,但是抽象类中可以定义构造方法,而接口中则不能定义构造方法;
        3.一个子类只能继承一个抽象类,但是可以实现多个接口;
        4.抽象类中可以定义成员变量,而接口中只能定义常量,不能定义变量。

2.继承和实现的区别?
答:1.继承是指子类继承父类的属性和方法,实现是指子类实现接口中定义的抽象方法;
        2.一个子类只能继承一个父类,但是可以实现多个接口;
        3.继承用关键字extends,实现用implements。

3.多态有什么好处?
答:1.多态可以实现用同样的代码,实现不同子类的方法调用。如在方法中,参数列表为父类类型,使用时将子类对象传递进去,调用子类的方法,从而实现代码的复用;
        2.在上面的基础上,当有新的子类对象建立时,可以将其直接传递到方法中,而不必修改方法,从而实现了代码的扩展性。


4.什么时候需要用到向上转型?什么时候需要用到向下转型
答:当需要用父类引用指向子类对象时要用到向上转型,即多态;当需要用到子类的特有属性和方法时,又需要将父类类型的变量转回到子类类型,即向下转型。
回复 使用道具 举报
1.接口和抽象类的区别?
1.接口不能有构造方法抽象类可以有。2.接口的关键字是interface,抽象类的关键字是abstract。
3.抽象类的优点是共性抽取和约束,接口的好处是拓展功能和约束。
2.继承和实现的区别?
继承中,一个类只能继承自一个父类。在实现中 ,一个类可以实现多个接口。
3.多态有什么好处?
多态使得代码具有更好的灵活性,增强代码的复用性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?

当有多个子类对象时,可以使用向上转型把它当作父类来使用他们的共有属性。这样可以增加代码的复用性,不用去创建多个子类对象。当需要用到各自类中特有的属性和方法时再使用向下转型去实现自己需要的功能。
回复 使用道具 举报
1.接口和抽象类的区别?
接口 关键字interface,是类的共同规范,不能包含构造方法,无法定义成员变量,但是可以定义常量。
抽象类 关键字abstract.是含有抽象方法的类,可以有构造方法和成员变量。
2.继承和实现的区别?
继承是共性抽取,实现是功能拓展。
3.多态有什么好处?
一个对象的多种形态,减少代码编写。
4.什么时候需要用到向上转型?什么时候需要用到向下转型
当父类引用子类对象时向上转型,当已经向上转型的子类对象将父类引用转为子类引用时向下转型。

回复 使用道具 举报
1.接口和抽象类的区别?
  答:1.抽象类只能单继承,接口可以多实现         2.抽象类里面可以定义方法体,接口里面不能定义方法体
         3.抽象类里面可以定义变量,接口里面不能定义变量,就算定义了int num = 10; 也会被默认加上 public  static final 修饰变成最终的常量,
         4.抽象方法只能声明不能实例化,若要实例化则必须有子类继承 抽象类是重构的结果,接口是设计的结果。
          5.抽象类要被子类继承,接口要被实现。
2.继承和实现的区别?
  答:1.继承为抽象类抽取出来的共性,提高代码的复用性,让子类拥有父类的属性以及成员方法,子类不需要再去重复定义
         2.接口的实现为,其实接口的设计是为了定义统一的规范,让实现该接口的类按照接口的规范编写代码,还有一个功能就是给类提供扩展的属性。
3.多态有什么好处?
   答:1.提高代码的复用性,在方法传参的时候我们的接收类型出可以直接写 父类的类型,所有继承该类的子类创建的对象,可以直接传参进去,不需要定义多个方法。以此              提高代码的复用性,
4.什么时候需要用到向上转型?什么时候需要用到向下转型

答:1.父类的引用指向子类的对象的时候,会需要用到向上转型,
       2.在子类中存在子类自己的特有方法需要被调用的时候需要用到像下转型,
  动物类  dongwu = new 猫();此创建对象的行为为父类动物抽象类的引用指向了子类,具体类的对象像,相当于把猫定义为了动物,但是如果猫中有一些独特的方法,而动物类中没有,就需要把猫在转换会来,需要用到向下转型,格式为    猫 mao = (猫)dongwu   (这里注意之前是什么类型向下转型的时候就要转成什么类型)
回复 使用道具 举报
1.接口和抽象类的区别?
(1)接口使用的interface关键字,而抽象使用的是abstract;(2)抽象有成员方法,变量,抽象方法,构造方法,和私有方法,而接口中只能写常量和抽象方法,默认方法,静态方法,和私有方法;
(3)抽象类的功能是共性抽取,和对子类的约束,而接口是功能扩展和多个类的公共约束;
2.继承和实现的区别?
继承只能单继承,而实现可以多实现;
3.多态有什么好处?
减少重复代码的编写!
4.什么时候需要用到向上转型?什么时候需要用到向下转型

   多对象,用向上转类型 可以减少代码编写,不能访问子类中的方法时,就需要向下转类型,以此来调用子类的方法。
回复 使用道具 举报
1:抽象类关键字是abstract 接口关键字是interface 接口只有常量 而且不能有构造方法
2:继承是功能抽取 实现是功能拓展
3:减少代码的编写 提高代码的复用性
4:当子类对象不确定时,可以向上转型。 当要用子类的特有功能是、时,需要向下转型
回复 使用道具 举报
本帖最后由 洪烁铭 于 2018-12-11 21:37 编辑

1.接口和抽象类的区别?
接口:用interface关键字;最主要是抽象方法和常量;用实现类implement ,通过创建实现类对象来实现;接口可以多实现;接口中不能由构造方法和静态代码块;抽象类:用abstract ;可以没有抽象方法;用非抽象子类继承后创建对象来使用;抽象类只能单继承;抽象类中有构造方法,在创建子类对象后初始化变量。

2.继承和实现的区别?
继承:用extends关键字; 单继承;非抽象父类可以创建对象;当父类不是抽象类时,继承后可以不用改写方法;
实现:用implement关键字;多实现;要实现的方法是无法直接创建对象的;实现必须进行方法的改写;

3.多态有什么好处?
多态使程序写的更简单,并有良好的拓展。通过定义父类为参数,可以实现用一个方法传递不同子类作为参数去调用方法,达到减少代码的使用。

4.什么时候需要用到向上转型?什么时候需要用到向下转型
当用多态创建对象时,则会向上转型。当需要变成父类,去调用方法时,就需要向上转型。当需要用到子类特有的方法时,则需要向下转型,才能调用。


回复 使用道具 举报
1.接口和抽象类的区别?
抽象的功能和接口不一样
抽象:共性抽取;约束(父类要求子类必须具有的方法)
接口:功能拓展;约束(多个类的公共规范)
2.继承和实现的区别?
答:继承是由子类继承父类,但是只能单继承父类;

而实现是可以实现多个接口;
3.多态有什么好处?

答:可以使程序编写的更简单,并有良好的扩展。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
答:当子类没有的可以向上找父类:这时候用到向上转型;
当需要特殊子类的属性以及方法的时候,(父类是不会向下找子类的)所以运用到向下的转型。
回复 使用道具 举报
1.接口和抽象类的区别?
接口使用interface关键字而抽象使用abstract

2.继承和实现的区别?
继承是单继承而实现可多实现

3.多态有什么好处?
提高代码的复用性
4.什么时候需要用到向上转型?什么时候需要用到向下转型
调用父类与子类共有的方法用向上转型。调用对象自己独有的方法用向下转型
回复 使用道具 举报
本帖最后由 Java中的莫Q哇啦 于 2018-12-11 21:48 编辑

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

接口和抽象类有点相似都是要传给下一个类来使用的,差异在接口的方法里必须包含有抽象方法,抽象类里不一定包含有抽象方法。

2.继承和实现的区别?

继承只能是单继承,而实现是可以多实现。

3.多态有什么好处?

减少代码的重复编写,为程序员的减少重复的工作量,保护程序员的头发

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

当只需要用到多个子类的父类内容时,而不需要用到各子类的内容的时候,就可以选择向上转型来减少代码的重复编写。当需要用到子类的独有内容时,就得向下转型来访问子类的内容。
                                       黄成成
回复 使用道具 举报 1 0
1.接口和抽象类的区别?
接口:用interface;不可以定义构造方法;不能定义变量只能定义常量;
抽象:用abstract;可以定义构造方法;可以定义变量。

2.继承和实现的区别?  
继承:继承是单继承;共性抽取;继承用extends关键字;
实现:实现是多实现;功能拓展;实现用implements关键字;
继承是指子类继承父类的属性和方法,实现是指子类实现接口中定义的抽象方法;

3.多态有什么好处?  
减少代码编写,提高代码的扩展性和复用性。

4.什么时候需要用到向上转型?什么时候需要用到向下转型
多态本身是子类类型向父类类型向上转换的过程,这个过程是默认的。 当父类引用指向一个子类对象时,便是向上转型。   
父类类型向子类类型向下转换的过程,这个过程是强制的。 一个已经向上转型的子类对象,将父类引用转为子类引用,可以使用强制类型转换的格式,便是向下转型。   


回复 使用道具 举报
王宏 中级黑马 2018-12-11 21:47:27
34#
1.接口和抽象类的区别?
接口定义常量,抽象类只能定义变量,接口没有构造方法不用初始化且没有静态代码块,抽象类需要构造方法初始化,可以有静态代码块

2.继承和实现的区别?
继承是共性抽取,实现是功能拓展,继承是但继承,实现是多接口实现

3.多态有什么好处?
多态可以减少代码的编写量,让代码变简单

4.什么时候需要用到向上转型?什么时候需要用到向下转型
当使用多态的时候,就是向上型,当想要用子类的特有方法时,就需要用到向下型
回复 使用道具 举报
续扬 中级黑马 2018-12-11 21:48:53
35#
1.接口和抽象类的区别?
接口是抽象的不存在方法的实现,抽象类有默认的方法实现
接口使用implements抽象类使用extends
接口只可以继承一个接口或多个其他接口,抽象方法可以继承一个类和现实多个接口
接口默认修饰符只有public,抽象方法可以有public protected default这些修饰符
接口添加新方法必须改变显示接口的类,抽象会提供默认的实现不需要改变现在的代码

2.继承和实现的区别?
继承是共性抽取,实现是功能拓展
一个类继承一个父类,实现多个接口

3.多态有什么好处?
增强方法的扩展性和复用性。

4.什么时候需要用到向上转型?什么时候需要用到向下转型
减少子类方法的调用时向上默认转型
当需要方便使用子类的特性方法时向下强制转型
回复 使用道具 举报
1.接口和抽象类的区别?
使用的关键字不同。接口使用interface,抽象用abstract。
接口是多个类的公共规范和功能拓展,抽象类是共性抽取,是父类对子类的约束。
接口定义的内容常量,抽象方法,默认方法,静态方法和私有方法。抽象类定义的内容变量,成员方法,抽象方法,构造方法和私有方法。
2.继承和实现的区别?
继承只能单继承,子类只能有一个父类。实现却能多实现,可以实现多个接口。
继承只能抽取共有的东西,实现除了共有的东西还能拓展非共有的。
3.多态有什么好处?
减少代码编写。
4.什么时候需要用到向上转型?什么时候需要用到向下转型
当子类对象不确定时,而父类拥有子类共性时,为了减少代码编写,需要用到向上转型 。
需要调用子类特有的方法时,需要用到向下转型。




回复 使用道具 举报
1.接口和抽象类的区别?
接口可以多实现,接只能做方法的声明,没有构造方法,可以有静态方法,私有方法,必须为常量而且必须被赋值,抽象类只能单继承,可以做方法的声明,可以有构造方法,抽象类方法不能是静态的,不能是私有方法。
2.继承和实现的区别?
继承:是共性抽取;当多个类中有相同的属性和行为的时候,将这些内容单继承给子类,子类可以直接通过调用来实现功能,提高代码复用性。
实现:是功能拓展;接口的实现是给对象提供一个规范,定义对象共有的,需要实现的方法,多实现给不同的类,达到功能的拓展,提高代码的复用性。
3.多态有什么好处?
   代码复用性更高,节省代码量
   可以直接使用父类来当参数列表,直接传递调用同一种方法。无需使用非常多的对象类型来获取方法。
4.什么时候需要用到向上转型?什么时候需要用到向下转型

   当子类对象不确定时,可以将子类向上转换成父类,从而提高代码复用性,和方法的拓展性。
   当需要使用子类的特有方法时,就需要用到向下转型。
回复 使用道具 举报
1.接口和抽象类的区别?
1.接口没有静态的代码块或者构造方法,抽象类需要构造方法创建对象并初始化值;
2.接口是功能拓展,抽象类是共性抽取;
3.接口关键字:interface,抽象类关键字:abstract;
4.接口包括常量、抽象方法、默认方法、静态方法、私有方法,抽象类包括成员变量、成员方法、构造方法、抽象方法、私有方法;

2.继承和实现的区别?
继承是共性抽取,实现是功能拓展
继承只能是单继承,就是只有唯一一个直接父类,而实现可以实现多个接口

3.多态有什么好处?
减少代码编写

4.什么时候需要用到向上转型?什么时候需要用到向下转型
当父类引用指向一个子类对象时,便是向上转型。
当需要调用实现类自己的方法时需要向下转型
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马