corejava 面向对象

原创 2012年03月26日 09:04:01

1 面向对象(OO)

 1) 什么是Object(对象), Object 本意:东西,是指一个具体事物实例

 2) 面向对象, 面向客观事物之间的关系.

 4) OOA面向对象分析/OOD 面向对象设计

   客人来了(来了一个客人类型的某人)

  

 5) 面向对象概念

  A 类型: 名词概念, : 客人, 菜品, 厨师

  B 引用(变量): 引用具体概念实例的代词, : 某人, 特价菜

  C 对象(东西): 具体概念的个体实例,:张三丰这个人, 一盘大盘鸡

  D 行为(方法)

  基本特征:

  A 多态: 行为/引用, 在具体情形下发生了变化的现象

          一盏灯多态的

          : 根据宾语发生变化

  B 封装: 任何对象实例都是尽可能封装, 减少暴露

  C 继承: 概念的继承关系

  

2 Java 类型, 引用变量与堆对象

 1)Java , 是用来描述事物类型的. :

   <图书馆管理系统>中的概念: Book

  书的特征: 书号, 书名, 编号, 作者, 价格... 

 2) 类的声明:

    public class Book{

           long id;

           String name;

           String isbn; //书号

           String[] authors; //作者

           double price;

    }

 3) 引用变量与对象的创建过程:

  A Java的内存管理与分配:

    栈是一块Java使用内存区域, 使用的方式:LIFO(后来者居上)

    堆也是一块Java使用内存区域, 使用方式: 无需随机分配

  B 局部变量与堆对象空间分配

   Java 局部变量在栈中分配, 是按照变量的类型分配

   对象在堆中分配, 按照类的属性(实例变量)分配空间

  C 变量类型与分配

   变量分为: 基本类型和引用类型

   基本类型变量的空间大小: 就是基本类型的空间大小, 值是基本类型

    的值

   引用变量的值是一个对象的地址值, 引用变量通过地址引用了一个堆

   对象.引用类型变量的占用空间大小和值管理是"透明的(不可看见)",

   Java系统管理: 变量占用空间以及值的管理, 都是透明的.

   

 4) 对象的属性默认自动初始化的. 自动初始化为"", 引用为null

 5) null引用上调用属性或方法, 会发生运行时异常

 

 案例:

  平面绘图坐标系中的一个点(Point),定义合理的属性

  坐标是int类型.

   O+-----------------------------> X

    |

    |

    |

    |

    |          . p(x,y)

    |

    |

    |

    |

   

    Y

 

3 构造器(构造方法) 的作用: 用来描述对象的创建过程的.

  1)

  : 月饼实例的创建, 使用面和馅创建.

              制作(构造器)

  月饼模子()  -----> 月饼(对象)

              原料(构建参数)

  

  点类型   -------->  原点

           坐标(1,2)

 

 2) Java中的构造器: 声明在类内部, 方法名与类名一致

  的方法叫构造方法, 构造方法不能声明返回值类型.

  构造方法可以包含参数, 参数一般是创建对象实例

  必须依赖的条件(前提条件).

       public class Point {

         int x;

         int y;

         /** 构造器 */

         public Point(int x, int y){

           this.x = x;

           this.y = y;

         }

       }

 

 3) 对象实例化过程:

 new运算: 创建对象实例

  1 根据类的属性在堆中分配对象空间.并且自动初始化实例变量

  2 根据参数类型调用构造器.

  3 new运算返回对象的引用地址.

 

 4) this 关键字

  this 是对当前对象的引用, 是运行期间当前对象本身.

         可以使用this明确的访问当前对象的属性或者方法

         类似于"".

  this() 是调用本类的其他构造器, 可以使用构造器的重用,

    简化代码的实现.

  * this() 必须写在构造器的第一行!

 

 5) 构造方法重载: 参数不一样的构造器

       案例: Point.java

   方法签名 = 方法名+参数类型列表

   方法重载:a 方法名一样 b 方法参数不一样

     也可以说: 方法名一样, 方法签名不同的方法

    

 6) 默认构造器

  1 java 类一定有构造器

  案例: ConstructorDemo.java

  2 如果类没有声明任何构造器,Javac自动提供一个

  默认构造器, 无参数默认构造器

  3 如果提供构造器声明, Javac将不再提供默认构

  造器.  

 

4 对象的方法

 1) 表示对象的功能, 依赖于对象存在.

  案例: Point.java

  : p1.distance() p2.distance()

  方法是动作,是功能,一般用动词声明

 2)方法也经常重载, 重载:方法名一样, 参数不一样重载体现了,

   功能的多态.重载的方法经常互相重用.

相关文章推荐

corejava面向对象技术总结.pdf

  • 2009年06月09日 15:19
  • 197KB
  • 下载

类与面向对象知识点归纳整理

  • 2017年12月08日 16:28
  • 1.55MB
  • 下载

软件工程视频学习——第六章——面向对象的分析和设计方法

主要知识点: 面向对象的几个重要概念: 对象:是人们需要研究的事物,不仅可以表示具体事物,还可以表示抽象规则,计划或任务。 消息:对象之间的通信结构叫做消息,消息中可以包含各...
  • wjf1997
  • wjf1997
  • 2017年12月07日 09:54
  • 14

黑马程序员------毕老师视频笔记第十天------面向对象(异常下)

七.finally关键字   抛的是编译时被检测异常,函数内throw之后,要在函数上声明throws finally中放的是一定会被执行的代码 如果发生异常,在catch块中函数return...

BJUT面向对象作业

  • 2017年11月05日 15:43
  • 115KB
  • 下载

java面向对象基础课(继承,方法重写),图形界面=0912号

学习报告 1、什么是重写?用什么方法可以强制检测当前方法是否重写父类方法? 解答: l  重写发生在父类与子类之间,子类的方法名和父类相同,参数列相同,返回类型也相同。当对子类对象进行方法调用时...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:corejava 面向对象
举报原因:
原因补充:

(最多只允许输入30个字)