Java面向对象技术答疑

1.面向对象与面向过程有什么区别?

1)出发点不同。面向对象强调对象概念,将问题映射到对象上;面向对象过程强调过程的 抽象化与模块化。

2)层次逻辑不同。面向对象以对象的类作为处理问题的基本单位;面向过程是模块化的,讲究模块与模块之间的关系。

3)数据处理方式与控制程序方式不同。面向对象方法将数据与代码封装起来,原则上不能改动,相当于一种黑盒;面向过程则直接通过程序处理数据,各种模块之间相牵制,相互制约。j

4)分析设计与编码转换方式不同。面向对象是一种平滑的软件设计,贯穿于整件的生命周期分析设计与编码,实现一种无缝连接;面向过程是一种有缝的链接。

2.面向对象的主要特征

1)抽象  包括过程抽象和数据抽象。

2)继承  新类继承了原始类的特性。

3)封装  将客观事物抽象成类,每个类对自己的方法和数据进行保护。

4)多态  指不同类的对象对同一消息做出响应。

3.继承有什么特征?

1)java没有c++的多重继承,子类只能有一个父类,但是可以通过实现多个接口来达到多重继承的目的

2)子类只能继承public与protected的成员变量与方法

3)子类有与父类同名的成员变量(或函数)时,子类成员变量会覆盖父类成员变量(或函数)

4.重载(overload)与覆盖(override)区别

  1)覆盖是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水平的。

  2)覆盖只能由一个方法或只能由一对方法产生关系;重载是多个方法之间的关系。

  3)覆盖要求参数列表相同;重载是多个方法之间的关系

  4)覆盖关系中,调用方法是根据对象数据类型决定;重载根据调用时的实参与形参表来选择方法体的5

c

5.抽象类与接口

抽象类:如果一个类中包含抽象方法,那么这个类就是抽象类。

接口:一个方法的集合,其中方法都没有方法体。

相同点:1)都不能被实例化

              2)只有在实现了接口或者抽象类的方法后才能被实例化。

不同点:1)接口只有定义,其方法不能在接口中实现,抽象类的方法可以在抽象类中被实现。

              2)接口需要implement,抽象类需要extends

               3)接口便于维护,抽象类不利于维护。

6.内部类有哪些?

内部类分为四种:
            非静态内部类
             静态内部类
             匿名类
            本地类

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值