1 . 面向对象和面向过程的认识:
面向对象:以事物为中心,分析其问题需要参与的事物,具有封装性/继承性/多态性;
面向过程:以事件为中心,分析解决时间的步骤就是分析出解决问题所需要的步骤,然后用函数把这写步骤一步步实现,在实现的时候一个一个的依次调用就可以了。
注:Java实质上是面向过程的语言,所以考虑问题时不应该考虑多少步完成,而是应该考虑有哪些类,哪些对象;这些类和对象应该具有那些属性和方法;这个类和那个类有什么关系。
2. 类和对象的认识:
类:对同一类对象的属性和行为的抽象总结;
对象:类的一个实例展现;
3. 属性和方法的认识:
属性:用来描述静态属性;
方法:用来描述类的动态属性;
4. 属性和行为的认识:
属性(名词):附属于食物上的一些特征;
行为(动词或者动名词):事物具有的动作,可以做什么事情;
5. Package(包)的理解
(1) 做什么的?
用来管理软件开发中大量的类和解决命名冲突问题;
(2)怎么写?
包名:域名倒着写即可,再加上模块名,其实内部实现就是靠目录结构来做到的。
(3)怎么用?
通常是类的第一句非注释性的语句。
6. 类的三个特性:
(1) 封装性:
把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中。把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,但不允许更改,而另一些属性或行为,则不允许外界知晓;或只允许使用对象的功能,而尽可能隐蔽对象的功能实现细节。
(2)继承性:
继承是面向对象方法中的重要概念,并且是提高软件开发效率的重要手段。首先拥有反映事物一般特性的类,然后在其基础上派生出反映特殊事物的类。
(3)多态性:
多态是面向对象程序设计的又一个重要特征。多态是允许程序中出现重名现象。Java 语言中含有方法重载与成员覆盖两种形式的多态。
方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
成员覆盖:子类与父类允许具有相同的变量名称,但数据类型不同,允许具有相同的方法名称,但完成的功能不同。