黑马程序员技术交流社区

标题: 【厦门JavaEE基础三期-每日总结】接口、多态 [打印本页]

作者: 厦门校区    时间: 2018-8-3 21:07
标题: 【厦门JavaEE基础三期-每日总结】接口、多态

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

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

2.继承和实现的区别?

3.多态有什么好处?

4.什么时候需要用到向上转型?什么时候需要用到向下转型
作者: 郑颖锋    时间: 2018-8-3 21:17
1.接口和抽象类的区别?
接口的内部主要就是封装了方法,包含常量、抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法
(JDK 9)。
2.继承和实现的区别?
一个子类只能有一个直接父类,一个类可以实现多个接口。
3.多态有什么好处?
增强方法的扩展性和复用性
4.什么时候需要用到向上转型?什么时候需要用到向下转型
为了增强方法的扩展性和复用性,需要用到向上转型
由于类型的提升,导致调用子类对象特有的方法,必须向下转型。

作者: sulaymanfan    时间: 2018-8-3 21:19
1.接口和抽象类的区别?    (1)成员的特点:                      1.   抽象类可以有变量、常量、构造方法、一般方法、抽象方法;
                     2.   接口有且只能有常量和抽象方法。
   (2)关系特点:类与类支持单继承,不能多继承,但是能够多层次继承,类与接口是实现关系,一个类能实现多个接口,一个类继承类一个类的同时能实现多个接口;接口与接口之间能单继承,也能多继承;
   (3)设计理念:抽象类定义的是该继承体系的共性功能,是is a的关系。接口定义的是该体系的拓展功能,是like a的关系。

2.继承和实现的区别?
   继承是类与类的关系, 实现是接口与接口之间的关系,

3.多态有什么好处?
  好处:(1)提高了代码的维护性(2)提高了代码的扩展性,父类引用指向子类对象,父类接受的类型要比子类多,所以同一个继承体系下的子类都可以把对象传递给父类的引用.

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

    需要用到多态时就要向上转型,
    当需要用到子类特有的方法或者成员变量时就需要向下转型.

作者: Michcale    时间: 2018-8-3 21:20
1.接口和抽象类的区别?
接口是一种引用类型,是方法的集合.抽象类是类
2.继承和实现的区别?
继承是指子类继承父类的属性和行为,只有有一个父类,而实现是发生在接口和实现类上,一个实现类可以有很多接口!
3.多态有什么好处?
可以使程序编写的更简单
4.什么时候需要用到向上转型?什么时候需要用到向下转型
当我们所述求的是接口中共有的代码时,用向上转型,当我们要具体到使用单个对象独有的方法或者变量时,.使用向下转型
作者: 练志成    时间: 2018-8-3 21:20


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

1.接口和抽象类的区别?
接口是可以多个接口联合,抽象类没有覆盖重写不能使用

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

3.多态有什么好处?
让代码更加整齐
4.什么时候需要用到向上转型?什么时候需要用到向下转型
父类需要用到子类数据是向下转,之后如果需要父类在转上
作者: 李志超    时间: 2018-8-3 21:28
1.接口和抽象类的区别?
一个是类,接口是引用数据类型;抽象类只能被继承或者继承(单继承),接口能被实现/继承(多实现,多继承)。

2.继承和实现的区别?
继承是类与类或接口与接口的关系;实现是接口与实现类的实现关系。

3.多态有什么好处?
提高代码复用性和拓展性

4.什么时候需要用到向上转型?什么时候需要用到向下转型
使用多态时;使用对象由大范围往小范围转换(还原)时
作者: wzewsb    时间: 2018-8-3 21:30
1、抽象类:
如果这个类里面的方法有一个是抽象的,那么这个类必须是抽象的。
抽象类中的方法,子类必须实现。
抽象类中可以有变量,可以有方法体的方法。
接口:
接口中方法都默认是public 的,不能有方法体。
接口中的变量都常量,都是public static final 的,必须先赋值。
如果一个类实现了此接口,必须覆盖接口中的所有抽象方法。
2.继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。
实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理方法来处理那个目标
3.减少代码的耦合
提高代码的可维护性
增强父类的功能
4.将子类的实例,赋值给父类的引用。就是向上转型。
想还原,增加子类的特性的时候用向下转型

作者: 林靖    时间: 2018-8-3 21:30
1.一个类可以实现多个接口,但只能继承一个抽象类
抽象类里可以有构造方法,而接口内不能有构造方法
抽象类中可以包含静态方法,接口内不能包含静态方法
2.继承针对类,实现针对接口。
JAVA是单继承、多实现的。
3.提高代码复用性和拓展性
4. 需要用到多态时就要向上转型,
    当需要用到子类特有的方法或者成员变量时就需要向下转型.
作者: 张煜兴    时间: 2018-8-3 21:30
1.接口和抽象类的区别?
   接口类和抽象类不能直接创建对象,接口类和抽象类的最终子类要覆盖重写所有抽象方法,
   区别是:接口类是实现;抽象类是在继承里


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


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


4.什么时候需要用到向上转型?什么时候需要用到向下转型
  当子类或实现类需要实现父类或接口类的私有方法时;
  当向上转型后,想调用子类特有的成员方法时



作者: 刘海杰    时间: 2018-8-3 21:30
1、接口是Java语言中一种引用类型,是方法的集合;子类只能继承一个抽象类
2、一个类只能继承一个父类。而接口,一个类是可以实现多个接口的;
3、实际开发过程中,父类类型作为方法形式参数,传递子类对象给方法,进行方法调用,更能体现出多态的拓展性与便利性
4、为了避免ClassCastException的发生;为了调用子类方法
作者: 赖良峰    时间: 2018-8-3 21:32
1.接口和抽象类的区别?一个子类只能extends一个抽象类;
一个子类可以implaments多个接口;


2.继承和实现的区别?
关键字不一样 : 继承 extends     实现: implaments
对象不一样, 继承是子类继承父类或者抽象类,实现是实现类 implements 接口;

3.多态有什么好处?
无论右边new的时候换成哪个子类对象,等号左边调用方法都不会变化.
4.什么时候需要用到向上转型?什么时候需要用到向下转型


将子类对象使用父类引用进行引用的时候用向上转型;
要把父类对象转为子类对象时使用向下转型;


作者: 郭生发    时间: 2018-8-3 21:32

1.接口和抽象类的区别?
         抽象类可以有构造方法,抽象类用abstract关键字修饰
         接口没有构造方法,接口用interface关键字修饰。
2.继承和实现的区别?

        继承只能继承一个父类
        实现可以实现多个接口
3.多态有什么好处?
       增强方法的扩展性和复用性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型?
     子类对象无需考虑特有内容,主要关注与父类共有内容时向上转型  
     父类对象需要调用子类特有内容时向下转型。


作者: 黄艺纯    时间: 2018-8-3 21:33
1.接口和抽象类的区别?
  
参数
  
  
抽象类   
  
  
接口
  
  
默认的方法实现
  
  
它可以有默认的方法实现
  
  
  接口完全是抽象的。它根本不存在方法的实现
  
  
实现
  
  
子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现。
  
  
  
子类使用关键字implements来实现接口。它需要提供接口中所有声明的方法的实现
  
  
  
访问修饰符
  
  
抽象方法可以有public、protected和default这些修饰符
  
  
接口方法默认修饰符是public。你不可以使用其它修饰符。
  
  
main方法
  
  
抽象方法可以有main方法并且我们可以运行它
  
  
接口没有main方法,因此我们不能运行它。
  
  
多继承
  
  
抽象方法可以继承一个类和实现多个接口
  
  
接口只可以继承一个或多个其它接口




2.继承和实现的区别?
继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。
实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理方法来处理那个目标。


3.多态有什么好处?

1.可替换性(substitutability)。多态对已存在代码具有可替换性。
2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。
3.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程。


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

向上转型:消除代码的冗余。 向下转型:要用到子类的特有方法。



作者: 舟sir    时间: 2018-8-3 21:34
1.接口和抽象类的区别?
接口没有构造器,抽象类有构造器,接口用implements链接,抽象类用extends继承


2.继承和实现的区别?

单继承,多实现

3.多态有什么好处?
解决代码冗长问题

4.什么时候需要用到向上转型?什么时候需要用到向下转型
多态向上转型
多态情况下,需要用到子类中的独有方法时候,要向下转型
作者: 罗荣贵    时间: 2018-8-3 21:35
1.接口和抽象类是不同的两种引用数据类型,接口不能定义变量,而类可以,抽象类要通过继承子类创建对象使用,接口是通过实现类来使用
2.继承是子类和父类的关系 ,实现是接口使用的过程,继承是单向的,一个子类只能有一个直接父类,一个实现类可以有多个接口
3.多态可以让一个对象具有多种形态
4.想要使用所有子类或者实现类共同的内容,使用向上转型,想要使用子类或者实现类特有的方法,使用向下转型
作者: liebstch    时间: 2018-8-3 21:41
陈建秋
1.接口和抽象类的区别?
  接口是多继承的,抽象类只能单继承。
  接口的使用需要实现类,抽象类的使用就需要子类实现其抽象方法。
  接口中的变量只能是公共静态常,抽象类可以定义普通变量。
  
2.继承和实现的区别?
   一个类只能继承一个父类,却可以实现多个接口。
3.多态有什么好处?
多态的好处是增强了代码的扩展性,简化了代码。
4.什么时候需要用到向上转型?什么时候需要用到向下转型
当方法中的参数列表为父类类型,或者实现接口类型时。
当需要使用到自己的特有属性和方法时,向上转型。
作者: 林嘉志    时间: 2018-8-3 21:42
1.接口和抽象类的区别?
接口可以拥有实现类,抽象类可以拥有子类和抽象子类
接口能拥有抽象方法和普通方法,抽象类只有普通方法
接口没有构造方法,抽象类有
都不能创建对象
2.继承和实现的区别?
一次继承多次实现
一个类只能有一个直接父类,但是一个类可以实现多个接口
继承是抽取共有属性,方便调用
实现是类实现接口中的抽象方法
3.多态有什么好处?
减少代码的冗余
实际开发的过程中,父类类型作为方法形式参数,传递子类对象给方法,进行方法的调用,更能体现出多态的扩展 性与便利
4.什么时候需要用到向上转型?什么时候需要用到向下转型
多态本身是子类类型向父类类型向上转换的过程,这个过程是默认的。
当父类引用指向一个子类对象时,需要用到向上转型
一个已经向上转型的子类对象,当需要引用子类中的方法时,需要用到向下转型


作者: yangshixian    时间: 2018-8-3 21:45
1.接口和抽象类的区别?
接口是一种公共的规范标准,而抽象类是被abstract修饰符修饰的类。接口与抽象类不同类,接口前缀为interface,抽象类为class接口中的抽象方法都是抽象方法;抽象类中不一定都是抽象方法
接口中的抽象方法是被实现类覆盖重写,抽象类中的方法是被子类覆盖重写2.继承和实现的区别?
继承的特点是共性抽取,实现的特点是约束规范
类与类之间是单继承的,直接父类只有一个;接口与接口之间是多继承的;类与接口是多实现的,一个类可以有多个接口
3.多态有什么好处?
在使用过程中,通过多态,父类类型可以作为方法形式参数,传递子类给对象,进行方法的调用,体现出多态的扩展性和便利性
4.什么时候需要用到向上转型?什么时候需要用到向下转型



当需要将子类对象当作父类类型看待时需要向上转型,例如在一些方法参数上,参数若为父类,子类为参数,会完成自动向上转型
当需要调用子类独有的成员方法(不包括重写的成员方法)或成员变量时,需要向下转型

杨式贤



作者: MJ11    时间: 2018-8-3 21:46
1.接口和抽象类的区别?
  接口是一种公共的规范标准。抽象类它可以有默认的方法实现        接口完全是抽象的,它根本不存在方法的实现,接口不能创建对象,需要定义一个类来实现。

2.继承和实现的区别?
   java中的继承为单继承,一个类可以实现多个接口

3.多态有什么好处?
  多态的好处体现在可以使程序编写的更简单,并有良好的扩展性和维护性。

4.什么时候需要用到向上转型?什么时候需要用到向下转型
     多态本身是子类类型向父类类型向上转换的过程,这个过程是默认的。当使用多态方式调用方法时,使用向下转型
作者: 仰望`星空    时间: 2018-8-3 21:48
郭林源

1.接口和抽象类的区别?  --》接口是方法的集合,接口内至JAVA9版本可封装抽象方法,默认方法,静态方法,私有方法
抽象类中可封装普通方法,抽象方法。接口中不能定义变量,抽象类可通过子类对象调用,接口可通过实例类调用

2.继承和实现的区别?  --》继承只能单向继承,接口可多向实现

3.多态有什么好处? --》减少代码冗余,增加复用性,增加代码的扩展性

4.什么时候需要用到向上转型?什么时候需要用到向下转型   --》须调用父类方法时向上转型。当向上转型后,又想调用子类特有方法时,须向下转型

作者: 谢君昇    时间: 2018-8-3 21:49
1.接口和抽象类的区别?
接口中没有私有方法和变量而抽象类中有
2.继承和实现的区别?
继承是单继承,实现可以多实现
3.多态有什么好处?
提高代码的拓展性
4.什么时候需要用到向上转型?什么时候需要用到向下转型
使用多态是向上转型,当子类中有特有的方法或变量是向下转型





作者: 李伟javaee03    时间: 2018-8-3 21:49

1、        接口和抽象类的区别?
抽象类是抽象方法所在的类
接口是一种公共规范
2.继承和实现的区别?
继承是父类对子类的共性抽取,提取成员变量、成员方法等。子类可以直接访问父类中的非私有成员,而父类无法访问子类成员。
实现是对类与接口而言,一个类可以同时实现多个接口,而且必须覆盖重写所实现的所有接口中定义的抽象方法。
3.多态有什么好处?
无论等号右边new的是哪个子类对象,都不影响等号左边,使代码具有良好的扩展;
4.什么时候需要用到向上转型?什么时候需要用到向下转型
使用多态时需要向上转型向上转型
将父类对象还原为本来的子类对象,此时需要向下转型,以调用子类方法
       

作者: 陈锦祥    时间: 2018-8-3 21:50
1.接口和抽象类的区别?
    1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;  2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
  3)一个类只能继承一个抽象类,而一个类却可以实现多个接口。
2.继承和实现的区别?
   继承只能继承一个父类,实现可以实现多个接口
3.多态有什么好处?
  解决冗余代码
4.什么时候需要用到向上转型?什么时候需要用到向下转型
   解决冗余代码 需要用到向上转型
  向上转型之后 需要调用子类的特有方法 就需要向下转型

作者: 迪亚波罗    时间: 2018-8-3 21:51
1.一个是类,接口是引用数据类型;抽象类只能被继承或者继承(单继承),接口能被实现/继承(多实现,多继承)。
2.继承:子类继承父类的属性和行为,实现:类与接口的关系为实现关系,
3.减少代码的耦合,提高代码的可维护性,增强父类的功能
4.为了增强方法的扩展性和复用性,需要用到向上转型.由于类型的提升,导致调用子类对象特有的方法,必须向下转型。
作者: 小鱼七    时间: 2018-8-3 21:53


1.接口和抽象类的区别?
区别:1、接口只可以定义static final 常量,
2、一个类只能继承一个父类,一个类可以实现多个接口
3、接口的修饰符只能是public,而抽象类的修饰符可以是其他


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

3.多态有什么好处?
减少代码量
4.什么时候需要用到向上转型?什么时候需要用到向下转型
子类只需调用父类方法时,需要向上转型
子类需要调用特有的内容时,需要向下转型
作者: 刘建宝    时间: 2018-8-3 21:55
1.接口和抽象类的区别?
接口类似于规则,区别于抽象的模糊概念;
接口用于封装方法,其中包含有抽象方法

2.继承和实现的区别?
继承在于一个子类只能继承一个父类
实现可以做到一个子类实现多个子类

3.多态有什么好处?
扩展性和便利性

4.什么时候需要用到向上转型?什么时候需要用到向下转型
当父类引用指向一个子类对象时,使用向上转型;
一个已经向上转型的子类对象,将父类引用转为子类引用,可以使用强制类型转换格式,便是向下转型
作者: 沈智桂    时间: 2018-8-3 21:58
1.接口和抽象类的区别?
接口的使用需要抽象类,抽象类的使用就需要子类实现他抽象方法
2.继承和实现的区别?
继承是抽取共有属性,方便调用。实现是类实现接口的抽象方法
3.多态有什么好处?
增加了代码的扩展性
4.什么时候需要用到向上转型?什么时候需要用到向下转型
要将子类对象使用父类引用使用向上转型,转换成父类对象要调用子类方法需要向下调用
作者: 冰是睡着的水    时间: 2018-8-3 22:01
1.接口和抽象类的区别?
答:一个是类,接口是引用数据类型;抽象类只能被继承或者继承(单继承),接口能多实现,多继承。
2.继承和实现的区别?
答:继承针对类,实现针对接口。继承的子类只能有一个直接父类,实现类则可以有多个接口。
3.多态有什么好处?
答:减少代码的冗余度,提高效率,提高代码的可维护性。
4.什么时候需要用到向上转型?什么时候需要用到向下转型
答:当需要用到多态时就要向上转型。当需要用到子类特有的方法或者成员变量时就需要向下转型。
(黄嘉欣)
作者: 吴鑫佳    时间: 2018-8-3 22:02


1.接口和抽象类的区别?
接口是一种公共的规范标准,可以通用的。
接口不能有构造方法,接口的常量一开始就必须赋初始值,并且之后不再改变。抽象类可以有构造方法,是提供子类创建对象时,初始化父类成员使用的。
2.继承和实现的区别?
子类在继承时候可以选择是否要重写在父类中没有私有的方法,没有重写就会默认为父类中的方法。继承会默认父类的构造方法。
实现类必须覆盖重写接口中的所有抽象方法,接口通过实现才能实现该有的功能。
3.多态有什么好处?
减少代码的冗余度,提高代码效率
4.什么时候需要用到向上转型?什么时候需要用到向下转型
当需要多态的时候就需要向上转型,一个已经向上转型的子类对象,将父类引用转为子类引用,想要调用子类特有的方法,必须做向下转型。





















作者: zouyitao    时间: 2018-8-4 09:27
1.接口和抽象类的区别?
接口用来实现,抽象类用来继承。java单继承,多实现。接口中没有构造方法。
2.继承和实现的区别:
类与类之间是单继承,类与接口是单继承,多实现,接口与接口之间是多继承,多实现。
3.多态有什么好处?
减少代码冗余,提高代码的扩展性。
4.什么时候需要用到向上转型,什么时候需要用到向下转型?
向上转型就是子类对象调用父类方法时,可以向上转型。
向下转型是需要用到子类特定方法时,向下转型还原类型。
作者: ZNBran    时间: 2018-8-4 09:44
1.抽象类可以有方法的实现,接口不能有方法的实现。抽象类可以实现接口,接口只能继承接口
2.继承是共性的抽取,实现是方法的实现
3.多态可以吧子类作为方法参数传递给父类方法,增强程序的扩展性
4.只用到父类方法的使用向上转型,要使用子类特有方法时使用向下转型




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2