面向对象基本理解

1:我对oop的简单理解

     oop是一种面向对象的编程思想,面向对象的思想核心就是对象,总体上来说,我们是把一批对象的共性抽象出来(研究问题) 形成一个概念模型(类)用来具体解决问题

 

     这样设计出来的程序,无论在系统安全。系统维护,系统扩展,都会相对方便,容易。

  

     让程序单一,模块化,能够把许多单一的程序很好的衔接在一起,形成一个完整的应用程序,根据不同的要求,进行不同的组装,形成不同的效果。

 

2:我对类和对象的理解

     类:把一批对象的共性抽象出来组织在一个单元,形成一个(概念上)的模型。

     对象:具体存在的实体,具有明确的状态和行为

 

3:我对多态的理解

    同意概念上的行为,而执行不同的结果

    (1):编译的多态性:重载(参数的个数不同 / 参数的类型不同)同一个类中的多态性

    (2):运行的多态性:重写(继承是多态得以实现的基础,而继承的表现就是多态,一个基类可以派生出多个子类,而子类可以重写基类的某个方法,不同的子类对方法的实现不一样,自然表现的形式也就不一样)

 

4:继承与多态的关系

     继承是多态得以实现的基础,继承的表现就是多态

 

5:接口与多态的关系

     概念上的类型不同,却有一样的行为(例如,人有展示自己的show()方法 学校也有展示自己的show()方法,)同时又不满足is-a的关系(继承),此时接口便作为某类上的一个功能扩展,接口中的功能方法在不同类中实现了不同的功能,边体现出多态性,接口也是多态的一种体现

 

6:static关键字有什么用?如何应用?java中作用于类吗?

     用static声明的变量,改变了变量的存储方式,是变量为静态变量,即编译时就为变量分配类内存,直到程序退出才释放存储单元,这样程序运行时,变量便有了记忆的功能,可以记忆上次的数据,它与未使用static修饰的变量区别是:其变量在代码块内才有效,即指令执行到变量定义时才给其变量分配存储单元,跳出代码时,就释放内存单元(生命周期结束)

    可以修饰于变量 方法 可形成一个static块 程序最先执行static块中的内容

    如:static{

                //代码

                   }

   在java中不作用于类

 

7:finally关键字的作用 应用于那些方面?

    (1):定义一个常量,控制赋予的初始值在程序运行时始终不被更改

    (2):应用于类:  则此类不可以被继承

         应用于方法:则此方法不可以被重写

         应用于字段:则此字段的值在每个构造器内必须只能赋一次值,而且此值以后始终不变

 

8:变量和常量的区别

     变量:相当于内存地址上的别名,可以通过变量去(赋值或修改)内存空间上的值

     常量:声明时就在内存上赋予初始值,而且程序运行时,不可被更改

             public static final 数据类型 常量名(全部大写) = 常量值

 

9:重载与重写的区别

     重载:在一个类中,两个或两个以上的函数名相同,参数列表不同的一组方法,或一组构造函数,就构成了 方法重载。

     重写:拥有继承关系,派生类修改了父类的某个方法体(构造函数不能被重写)

     两者之间的区别:

     重载是一个类多态的体现

     重写是父类和子类多态的体现

     相同点: 两者都体现了多态性

 

10:什么叫动态绑定

    在程序(运行时),根据对象的实际情况,选择父类或子类的方法,他与静态绑定的区别是后者在编译时绑定的,

    父类的对像指向子类的引用,通过这个引用,调用重写后的方法(若重写过)。

  

 

 

 

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值