6.对象与类—相关知识点总结
2012-04-26 16:17
489 查看
1.面向对象程序设计概述(简称OOP)
Java是完全面向对象的,不能使用我们熟悉的过程化风格设计Java程序。
在OOP中,只需要关注对象的外表,不必关心内部结构,绝大多数的Java程序员不必关心对象的具体实现,只要保证对象满足他 们的需求就Ok了。
OOP的关键是让每一个对象负责执行一组相关的任务。如果一个对象依赖于另一个对象负责处理的任务,那么它就去访问那个包括该任务的对象。
特别要说明的是一个对象不能直接访问另一个对象的内部数据,当然也不能让其他对象访问自己的内部。对象之间的所有通信都是通过方法调用完成。
2.类之间的关系
类之间的关系:依赖(uses a ) 一个类的方法操纵另一个类的对象 如Order类和Account类
聚合 (has a) 一个类包含另一个类 如Order类包含一些Iten对象
继承(is a) Manager类继承Employee类
3.对象与对象变量
new一个对象 new Date();//创建一个对象 Date birthday=new Date();
对象变量 Date deadline;//只是一个变量,并不是一个对象,它没有引用对象。要想使用deadline必须先初始化。
初始化deadline: deadline=new Date();
deadline=birthday;//deadline和birthday引用同一个对象。
deadline=null//表明deadline没有引用任何对象
4.属性、方法
全局变量 局部变量 常量(final) 静态变量(static) 静态常量(static final)
全局变量没有初始化的时候系统会给我们初始化,整数为0,布尔为false 对象类型为null.
局部变量在使用前一定要初始化,系统不会自动初始化局部变量。
private final int count;
private static final int count=12222;
普通方法 静态方法(static修饰的) 构造方法(有参和无参) 工厂方法 main方法
方法声明:方法修饰符、返回类型、方法名、方法的参数。
构造方法:没有返回类型,名字与类名一致。
注意:a.静态变量和方法直接用类名调用访问。b.非静态方法可以访问静态属性和非静态属性,静态方法不能访问非静态属性
c.final修饰的属性,在构造对象时必须初始化。可以再定义的时候初始化也可以在构造方法中初始化。
5.方法参数
参数传递:值传递和引用传递
值传递:传递的是数据的副本。
引用传递:传递的是数据的保存地址。
Java语言中采用的是值传递。方法不能改变传递给它的任何参数变量的内容。
方法参数有两种一个是基本数据类型一个是对象引用。
一个方法不能修改一个基本数据类型的参数,但是对象的引用作为参数就不一样了,对象引用可以通过调用方法改变成员变量
6.方法重载和重写
方法重载:在同一个类里,同名不同参
方法重写:不同类里(子类),同名同参
7. 构造方法
无参构造和有参构造,一个类没有写构造方法,系统会默认提供一个无参构造,如果我们写了一个有参构造,系统就不会提供
无参构造了。
Java是完全面向对象的,不能使用我们熟悉的过程化风格设计Java程序。
在OOP中,只需要关注对象的外表,不必关心内部结构,绝大多数的Java程序员不必关心对象的具体实现,只要保证对象满足他 们的需求就Ok了。
OOP的关键是让每一个对象负责执行一组相关的任务。如果一个对象依赖于另一个对象负责处理的任务,那么它就去访问那个包括该任务的对象。
特别要说明的是一个对象不能直接访问另一个对象的内部数据,当然也不能让其他对象访问自己的内部。对象之间的所有通信都是通过方法调用完成。
2.类之间的关系
类之间的关系:依赖(uses a ) 一个类的方法操纵另一个类的对象 如Order类和Account类
聚合 (has a) 一个类包含另一个类 如Order类包含一些Iten对象
继承(is a) Manager类继承Employee类
3.对象与对象变量
new一个对象 new Date();//创建一个对象 Date birthday=new Date();
对象变量 Date deadline;//只是一个变量,并不是一个对象,它没有引用对象。要想使用deadline必须先初始化。
初始化deadline: deadline=new Date();
deadline=birthday;//deadline和birthday引用同一个对象。
deadline=null//表明deadline没有引用任何对象
4.属性、方法
全局变量 局部变量 常量(final) 静态变量(static) 静态常量(static final)
全局变量没有初始化的时候系统会给我们初始化,整数为0,布尔为false 对象类型为null.
局部变量在使用前一定要初始化,系统不会自动初始化局部变量。
private final int count;
private static final int count=12222;
普通方法 静态方法(static修饰的) 构造方法(有参和无参) 工厂方法 main方法
方法声明:方法修饰符、返回类型、方法名、方法的参数。
构造方法:没有返回类型,名字与类名一致。
注意:a.静态变量和方法直接用类名调用访问。b.非静态方法可以访问静态属性和非静态属性,静态方法不能访问非静态属性
c.final修饰的属性,在构造对象时必须初始化。可以再定义的时候初始化也可以在构造方法中初始化。
5.方法参数
参数传递:值传递和引用传递
值传递:传递的是数据的副本。
引用传递:传递的是数据的保存地址。
Java语言中采用的是值传递。方法不能改变传递给它的任何参数变量的内容。
方法参数有两种一个是基本数据类型一个是对象引用。
一个方法不能修改一个基本数据类型的参数,但是对象的引用作为参数就不一样了,对象引用可以通过调用方法改变成员变量
6.方法重载和重写
方法重载:在同一个类里,同名不同参
方法重写:不同类里(子类),同名同参
7. 构造方法
无参构造和有参构造,一个类没有写构造方法,系统会默认提供一个无参构造,如果我们写了一个有参构造,系统就不会提供
无参构造了。
相关文章推荐
- JavaScript第六章知识点总结——JavaScript常用DHTML对象 Document相关对象 事件处理
- JavaScript第六章知识点总结——JavaScript常用DHTML对象 Document相关对象 事件处理
- 面向对象相关知识点总结
- PHP对象相关知识点的总结
- PHP对象相关知识点的总结
- Windows编程-2-内核对象相关知识点总结
- Java面向对象主要知识点总结以及简单项目心得
- PHP对象相关知识总结
- 【黑马程序员】C#面向对象中一些知识点总结和备忘
- Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结
- 并发编程学习总结(八) :java中synchronized关键字使用详解 对象锁的相关条件的使用(2)
- Java相关知识点总结
- Linux文件属性相关知识点学习总结
- JAVA面向对象 Part01 零碎知识点总结
- JAVA面向对象知识点总结(1)—类、对象、类中成员、匿名对象
- C++继承相关知识点总结
- JDBC相关的知识点总结
- C语言 总结数组指针相关知识点
- 总结一下php面向对象中出现的相关概念,顺便温故一下面向对象
- java知识点总结(==和equals,对象克隆clone等)