面向对象基本理解
2009-06-05 00:04
239 查看
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:什么叫动态绑定
在程序(运行时),根据对象的实际情况,选择父类或子类的方法,他与静态绑定的区别是后者在编译时绑定的,
父类的对像指向子类的引用,通过这个引用,调用重写后的方法(若重写过)。
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:什么叫动态绑定
在程序(运行时),根据对象的实际情况,选择父类或子类的方法,他与静态绑定的区别是后者在编译时绑定的,
父类的对像指向子类的引用,通过这个引用,调用重写后的方法(若重写过)。
相关文章推荐
- 黑马程序员——面向对象基本理解过程
- javaSE_8系列博客——Java语言的特性(一)--关于面向对象基本概念的理解(1)
- 面向对象基本概念及举例理解
- 面向对象的基本理解
- js面向对象基本理解和三种创建方式
- 面向对象基本概念理解
- C/C++学习日志之一—面向对象和面向过程的基本理解
- javaSE_8系列博客——Java语言的特性(一)--关于面向对象基本概念的理解(2)--对象
- 我所理解的面向对象
- Java面向对象-面向对象编程之基本概念
- 深入理解C++面向对象机制(三)构造与析构
- 面向对象-基本思想
- Java基本知识(连载)-面向对象入门
- 面向对象理解(面试标准)
- IOS 内存斗争小史之 对象、指针、内存的基本理解
- 黑马程序员--Java面向对象理解
- 面向对象三大基本特性,五大基本原则
- 面向对象三大基本特性,五大基本原则
- 个人编程思想理解的片段(主要是面向对象的,参考了许多人的观点,还不成熟,没形成系统,请大家多指点)
- 面向对象的基本思想