关于Java学习心得
2012-07-16 00:39
423 查看
这段时间在进行Java方面知识的复习,发现好多从前没有注意的细节还有从前比较模糊的概念,现在好像也清晰了很多。自己也做了一些记录和总结。
现在对Java中的三大特征封装继承和多态有了自己的一些认识和理解。不知道是否准确。
对于封装,说白了就是在申明一个类的时候,将类中的属性私有化,即使用private修饰。与其相反将类中大部分的方法共有化,即使用public修饰。这是遵循软件工程中“高内聚、低耦合”的原则。说到将大部分的方法公有化,指的是一些提供给外界的接口方法(此处的接口不同于抽象的接口类),比如set()、get()方法。而有些方法是为了这个类本身编写的,也应该私有化。
对于继承,跟C++语言中派生的概念是一样的,都是为了提高代码的复用。而具体的实现地点就是重写这个方法override,再重写方法的时候,有很多需要注意的地方,总结一下,应该叫做“两同两小一大”原则,所谓“两同”,即方法名相同,参数列表相同;“两小”指的是子类方法返回值类型应该比父类方法返回值类型更小或相等,子类方法申明抛出的异常类应该比父类方法申明抛出的异常类更小或相等;“一大”指的是子类方法的访问权限应该比父类方法的访问权限更大或相等。尤其需要指出的是,重写方法和被重写方法要么都是类方法要么都是实例方法。
对于多态,实际就是利用继承中的方法重写来实现的。当一个变量的编译时类型和运行时类型不同时便会产生多态。一般的情况就是,申明这个变量时使用父类的类型,而在通过new关键字创造空间的时候却使用子类的类型。从前一直觉得多态这个概念很难理解。不知道是什么意思,也不知道有什么用处。后来工作中,代码书写以及类的定义都要求规范,渐渐对接口越来越了解。才发现原来多态性的用处大多和接口是关联的。实现类实现接口,在调用方法的时候就不用先创建每个实现类的对象,就是这么简单,这样就很好了节约了时间,也不容易出错,提高了效率。
学习Java,只要把对象的概念了熟于心,随时都记着面向对象编程,其他的问题都可以迎刃而解。
现在对Java中的三大特征封装继承和多态有了自己的一些认识和理解。不知道是否准确。
对于封装,说白了就是在申明一个类的时候,将类中的属性私有化,即使用private修饰。与其相反将类中大部分的方法共有化,即使用public修饰。这是遵循软件工程中“高内聚、低耦合”的原则。说到将大部分的方法公有化,指的是一些提供给外界的接口方法(此处的接口不同于抽象的接口类),比如set()、get()方法。而有些方法是为了这个类本身编写的,也应该私有化。
对于继承,跟C++语言中派生的概念是一样的,都是为了提高代码的复用。而具体的实现地点就是重写这个方法override,再重写方法的时候,有很多需要注意的地方,总结一下,应该叫做“两同两小一大”原则,所谓“两同”,即方法名相同,参数列表相同;“两小”指的是子类方法返回值类型应该比父类方法返回值类型更小或相等,子类方法申明抛出的异常类应该比父类方法申明抛出的异常类更小或相等;“一大”指的是子类方法的访问权限应该比父类方法的访问权限更大或相等。尤其需要指出的是,重写方法和被重写方法要么都是类方法要么都是实例方法。
对于多态,实际就是利用继承中的方法重写来实现的。当一个变量的编译时类型和运行时类型不同时便会产生多态。一般的情况就是,申明这个变量时使用父类的类型,而在通过new关键字创造空间的时候却使用子类的类型。从前一直觉得多态这个概念很难理解。不知道是什么意思,也不知道有什么用处。后来工作中,代码书写以及类的定义都要求规范,渐渐对接口越来越了解。才发现原来多态性的用处大多和接口是关联的。实现类实现接口,在调用方法的时候就不用先创建每个实现类的对象,就是这么简单,这样就很好了节约了时间,也不容易出错,提高了效率。
学习Java,只要把对象的概念了熟于心,随时都记着面向对象编程,其他的问题都可以迎刃而解。
相关文章推荐
- Android(java)学习笔记94:关于广播接收者的注册和使用心得
- java学习心得 关于如何设计一个拼图游戏
- 学习java过程中关于生产者消费者模型的一些心得
- 关于学习Java的心得体会
- java学习心得:关于对象与引用变量的关系的理解
- 关于java内存泄漏的一点学习心得
- 关于学习Java的上传技术的一些心得
- 今天考了关于java认证的OCJP,特此谈谈个人java学习过程及心得
- 关于java的学习心得
- 【学习心得】-JAVA中移位原理的思考-0
- 黑马程序员__关于自己的一些学习死角的再学习(基于老毕的java基础视频)
- java中的指针学习心得
- 关于javabean的学习!
- 转载的关于java学习的一些东西
- 关于学习MSDN中"创建自定义字段类型和字段控件"的一些心得跟问题。
- java的学习心得
- 择善JAVA的学习关于String与内存
- Java学习心得——jsp中引入css等格式的配置方法
- 【学习心得】java中“==”和默认“equals()”的区别
- 关于新浪微博iPhone客户端设计与实现硕士论文学习心得