您的位置:首页 > 编程语言 > Java开发

java面向对象编程基本概念

2015-07-06 22:34 337 查看
面向对象基础:
对象的进化史

   a)基本数据类型阶段---->数据少---->无数据管理时代

   b)数组---->数据多了。将同类型的数据放到一起---->弱管理

   c)结构体---->数据多了,数据复杂了。将不同类型的数据放到一起---->强管理

   d)对象----->数据多了、类型复杂了、行为复杂了。将不同类型的数据放到一起---->超强管理

面向对象编程(OOP)的本质
   以类的方式来组织代码,以对象组织数据。对象是具体的事物,类是对对象的抽象

对象和类:

   对象是具体的,类是抽象的。类也是一个模版,通过类这个模版我们也可以new对象。

定义类:

   public    class  类名 {

   //属性

   private  数据类型  属性名; //建议增加相应的getter、setter方法      

   //方法

   //构造方法

}

构造方法:

   1. 方法名必须跟类名保持一致

   2. 无返回类型

   3. 通过new来调用

   4. 无参构造器问题:

      a)如果我们没有手动定义构造器,系统会自动为我们添加一个无参的构造器

      b)如果我们自己定义了构造器,系统就不会为我们添加无参构造器

   5. 构造方法的第一句总是:super,即调用直接父类的构造方法。

      a)有继承关系的构造方法调用的顺序

方法的重载(Overload):

   两同(同一个类、同一个方法名)三不同(参数列表不同:;类型、个数、顺序)

   返回值不同,构成重载吗?  No

   形参名称不同,构成重在吗?  No

this:

   普通方法中,调用本方法的对象。

   构造方法中,正要初始化的对象。

   还可以用来,调用其他的构造方法

super:

static:

   用它修饰的变量和方法,就变成了静态变量和静态方法。从属于类。通过类名即可调用。实际存储于方法区中。

package:

   package必须位于非注释行第一句。

包名:域名到这写

import:

   引入外部的类

Import  static :导入类的静态属性

final:

   修饰变量:常量(命名规范:全部大写,多个单词之间通过下划线隔开)

   修饰方法:不能被重写

   修饰类:不能被继承

面向对象的三大特征:
封装

   通过private、default 、protected、public关键字实现属性或方法的封装。

   “高内聚,低耦合”

继承

   通过extends 。两个好处:

      1.代码重用

      2.通过继承实现对现实世界更加准确的建模

   类只有单继承,没有像C++那样的多继承

   方法重写(Override)的要点:

      =:方法名保持一致

      >=: 子类权限修饰符可以大于等于父类的。

      <=, <=: 子类的返回值类型小于等于父类的类型。子类声明异常类型不能超过父类的类型。

Object类:

   1.是我们所有类的根基类

   2.toString

   3.equals、hashcode

   4.wait、notify、notifyAll

多态(polymorphism)

   三个必要条件:继承、方法的重写、父类引用指向子类对象

动态绑定、静态绑定:抽象类:
   1.包含抽象方法[微软用户3] 的类,一定是抽象类。

   2.抽象类不能被new。

   3.抽象类可以包含:普通方法、成员变量、构造方法

接口:

   1.interface

   2.类实现接口:implements   可以实现多个接口

   3.接口可以多继承

   4.接口定义的一组规范!实现现实世界中这样的逻辑::如果你是…则必须能…

内存机制:
栈     

   1.存放局部变量

   2.不可以被多个线程共享

   3.空间连续,速度快



   1.存放对象

   2.可以被多个线程共享

   3.空间不连续,速度慢,但是灵活

方法区

   1.存放类的信息:代码、静态变量、字符串常量等

   2.可以被多个线程共享

   3.空间不连续,速度慢。但是灵活  

垃圾回收器(GC   Garbage Collection):

   1.程序员不能调用垃圾回收器。但是可以通过System.gc()建议回收。   

   2.finallize:一般用不到
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: