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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


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

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

2.继承和实现的区别?

3.多态有什么好处?

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

30 个回复

倒序浏览
1.接口和抽象类的区别?
接口的内部主要就是封装了方法,包含常量、抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法
(JDK 9)。
2.继承和实现的区别?
一个子类只能有一个直接父类,一个类可以实现多个接口。
3.多态有什么好处?
增强方法的扩展性和复用性
4.什么时候需要用到向上转型?什么时候需要用到向下转型
为了增强方法的扩展性和复用性,需要用到向上转型
由于类型的提升,导致调用子类对象特有的方法,必须向下转型。
回复 使用道具 举报
1.接口和抽象类的区别?    (1)成员的特点:                      1.   抽象类可以有变量、常量、构造方法、一般方法、抽象方法;
                     2.   接口有且只能有常量和抽象方法。
   (2)关系特点:类与类支持单继承,不能多继承,但是能够多层次继承,类与接口是实现关系,一个类能实现多个接口,一个类继承类一个类的同时能实现多个接口;接口与接口之间能单继承,也能多继承;
   (3)设计理念:抽象类定义的是该继承体系的共性功能,是is a的关系。接口定义的是该体系的拓展功能,是like a的关系。

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

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

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

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


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

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

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

3.多态有什么好处?
让代码更加整齐
4.什么时候需要用到向上转型?什么时候需要用到向下转型
父类需要用到子类数据是向下转,之后如果需要父类在转上
回复 使用道具 举报
1.接口和抽象类的区别?
一个是类,接口是引用数据类型;抽象类只能被继承或者继承(单继承),接口能被实现/继承(多实现,多继承)。

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

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

4.什么时候需要用到向上转型?什么时候需要用到向下转型
使用多态时;使用对象由大范围往小范围转换(还原)时
回复 使用道具 举报
1、抽象类:
如果这个类里面的方法有一个是抽象的,那么这个类必须是抽象的。
抽象类中的方法,子类必须实现。
抽象类中可以有变量,可以有方法体的方法。
接口:
接口中方法都默认是public 的,不能有方法体。
接口中的变量都常量,都是public static final 的,必须先赋值。
如果一个类实现了此接口,必须覆盖接口中的所有抽象方法。
2.继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。
实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理方法来处理那个目标
3.减少代码的耦合
提高代码的可维护性
增强父类的功能
4.将子类的实例,赋值给父类的引用。就是向上转型。
想还原,增加子类的特性的时候用向下转型
回复 使用道具 举报
1.一个类可以实现多个接口,但只能继承一个抽象类
抽象类里可以有构造方法,而接口内不能有构造方法
抽象类中可以包含静态方法,接口内不能包含静态方法
2.继承针对类,实现针对接口。
JAVA是单继承、多实现的。
3.提高代码复用性和拓展性
4. 需要用到多态时就要向上转型,
    当需要用到子类特有的方法或者成员变量时就需要向下转型.
回复 使用道具 举报
1.接口和抽象类的区别?
   接口类和抽象类不能直接创建对象,接口类和抽象类的最终子类要覆盖重写所有抽象方法,
   区别是:接口类是实现;抽象类是在继承里


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


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


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


回复 使用道具 举报
1、接口是Java语言中一种引用类型,是方法的集合;子类只能继承一个抽象类
2、一个类只能继承一个父类。而接口,一个类是可以实现多个接口的;
3、实际开发过程中,父类类型作为方法形式参数,传递子类对象给方法,进行方法调用,更能体现出多态的拓展性与便利性
4、为了避免ClassCastException的发生;为了调用子类方法
回复 使用道具 举报
1.接口和抽象类的区别?一个子类只能extends一个抽象类;
一个子类可以implaments多个接口;


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

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


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

回复 使用道具 举报

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

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

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




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


3.多态有什么好处?

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


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

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


回复 使用道具 举报
1.接口和抽象类的区别?
接口没有构造器,抽象类有构造器,接口用implements链接,抽象类用extends继承


2.继承和实现的区别?

单继承,多实现

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

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

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



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

杨式贤


回复 使用道具 举报
1.接口和抽象类的区别?
  接口是一种公共的规范标准。抽象类它可以有默认的方法实现        接口完全是抽象的,它根本不存在方法的实现,接口不能创建对象,需要定义一个类来实现。

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

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

4.什么时候需要用到向上转型?什么时候需要用到向下转型
     多态本身是子类类型向父类类型向上转换的过程,这个过程是默认的。当使用多态方式调用方法时,使用向下转型
回复 使用道具 举报
郭林源

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

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

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

4.什么时候需要用到向上转型?什么时候需要用到向下转型   --》须调用父类方法时向上转型。当向上转型后,又想调用子类特有方法时,须向下转型
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马