- 浏览: 117900 次
- 性别:
- 来自: 深圳
文章分类
最新评论
JavaOOP复习
1.对象的定义:一切具有可描述性的状态和行为的实体(对象抽象成类)
程序中的对象就是一块内存空间。
2.类的定义:具有相同属性和方法的一组对象的集合(类实例成对象)
new一个对象:就是分配一块内存空间,通过构造方法创建一个对象
3.初始化:
1.通过new关键字分配内存空间
2.通过构造方法初始化属性
4.一个类有一个私有的构造方法:说明该类无法在类外创建对象,也不能被继承
5.静态类(static):
1.非静态方法依靠对象产生
2.staic可以修饰属性和方法,但是不能修饰方法中的变量
5.静态属性和方法通过类名直接调用,不依赖对象
6.静态类在类加载器运行时就已经加载(没有对象之前,静态成员和 静态方法就已经存在)
7.静态方法不能调用非静态成员,实例方法可以调用静态成员
6.终态(final) :
1.修饰方法,但是该方法不能被重写
2.修饰属性,但是该属性的值不能被修改
3.修饰类,但是该类不能被继承
7.参数:
1.形参:方法定义时的参数(形参是方法中的局部变量,所以方法内不 能有与形参同名的变量)
2.实参:方法调用时的参数
3.方法中的形参修改的是对象本身,对实参没有影响,如果修改的是类 属性和方法,将对实参产生影响
4.方法形参:
1.基本数据类型:形参和实参是两个变量,占用不同的内存空间
2.引用数据类型:形参只是一个引用,即实参是将内存地址赋值给形参
因此形参和实参指向的是同一个内存地址
引用传递会改变实参的值
8.封装:将属性和方法一起包裹在类中,并隐藏类的实现细节,使用方法访问的 一种手段
1.隐藏对象的实现细节
2.隐藏对象的属性信息
3.将已有数据类型的变量封装可以得到新的自定义类型
体现:
1.封装属性:将属性私有化,提供公有方法访问私有属性
2.封装功能:使用方法实现功能,通过访问修饰符,限制范乃文权限
3.封装数据类型:定义类,包括属性和方法
作用:
1.隐藏实现细节,保证数据的安全性
2.限制数据访问,提高程序的可维护性
9.访问修饰符:
public: 公有的: 任何地方都可以访问
protected:受保护的: 在本包和子类可以访问
freindly 默认的: 在本包内可以访问
private: 私有的: 在当前类内可以访问
10.this关键字:在对象内部指代自身的引用
1.在静态方法中不能使用this关键字
2.可以用this关键字调用静态方法
3.解决可能在实例变量和局部变量之间发生地任何同名冲突
11.继承(extends):在原有数据类型的基础上,通过添加新的属性和方法创建新的数 据类型
(继承在已有类的基础上派生出新类,但又不需要完全重新编码)
1.子类继承父类所有的属性和方法(除父类构造方法,通过公有方法访问私有属性)
2.super关键字在子类构造方法中显示调用父类带参的构造方法
3.super关键字在子类中指代父类的引用
特点:1.调用父类的构造方法,只能在子类构造方法的第一行
2.调用父类被重写的方法
3.调用父类有参的构造方法(系统自动调用父
类无参构造方法)
12.抽象类(abstract):不能实例化对象,用于继承
1.抽象类不一定有抽象方法,有抽象方法一定是抽象类
2.子类继承抽象类时,必须实现所有的抽象方法
抽象的过程是从众多同类对象中抽取相同的属性和相同的方法的过程。
13.接口(interface):接口是不同事物,相同功能的抽象,是一组方法的集合
1.接口中的方法都是公共的抽象(public abstract)
2.接口中的方法都没有实现(即没有方法体)
3.实现类必须实现接口所有的方法
4.实现类可以实现多继承
5.接口可以继承接口
6.接口的属性都是常量 public static final
14.多态:具有表现多种形态的能力的特征
面向对象最为重要的特点就是多态,它是指方法名称相同,实现细节却不同
专业术语:同一个实现接口,使用不同的实例而执行不同的操作
1.方法重载:同一个类中,方法名相同,参数列表不同
(参数类型不同,参数个数不同)
(编译时多态)
1.形参不能作为重载的标准
2.返回类型不能作为重载的标准
2.方法重写:在类的继承结构中,子类覆盖重写父类已有的方法
(运行时多态)
1.返回类型,方法名,参数列表相同
2.访问修饰符不能缩小,异常不能扩大
3.上溯造型:父类引用指向子类对象
缺陷:1.只能调用父类有的方法,被重写后调用子类重写的方法
2.丢失子类特有的属性
优势:1.减少重载方法的数量(代码复用)
2.新增实现类或子类时,不需修改代码(可扩展性)
15.同步方法或同步块
作用:保证方法或同步块只能让一个用户访问
缺陷:资源消耗比普通方法大
16.单例模式:
饿汉单例模式:
1.定义一个私有的构造方法
2.定义私有的静态的本类对象
3.定义一个公有的静态方法返回对象
懒汉单例模式:
17.软件设计的五大原则
单一职责原则 (SRP)
一个设计元素只做一件事
开-闭原则 (OCP)
一个软件实体应当对扩展开放,而对修改关闭。
里氏替换原则(LSP)
一个软件实体如果使用的是一个基类的话那么一定适用于其子类,而且它察 觉不出基类对象和子类对象的区别。也就是说,在软件里面,把基类都替换 成它的子类,程序的行为没有变化
依赖倒转原则(DIP)
要依赖于抽象,不要依赖于具体
接口隔离原则
不应该强迫客户使用于他们不用的方法
1.对象的定义:一切具有可描述性的状态和行为的实体(对象抽象成类)
程序中的对象就是一块内存空间。
2.类的定义:具有相同属性和方法的一组对象的集合(类实例成对象)
new一个对象:就是分配一块内存空间,通过构造方法创建一个对象
3.初始化:
1.通过new关键字分配内存空间
2.通过构造方法初始化属性
4.一个类有一个私有的构造方法:说明该类无法在类外创建对象,也不能被继承
5.静态类(static):
1.非静态方法依靠对象产生
2.staic可以修饰属性和方法,但是不能修饰方法中的变量
5.静态属性和方法通过类名直接调用,不依赖对象
6.静态类在类加载器运行时就已经加载(没有对象之前,静态成员和 静态方法就已经存在)
7.静态方法不能调用非静态成员,实例方法可以调用静态成员
6.终态(final) :
1.修饰方法,但是该方法不能被重写
2.修饰属性,但是该属性的值不能被修改
3.修饰类,但是该类不能被继承
7.参数:
1.形参:方法定义时的参数(形参是方法中的局部变量,所以方法内不 能有与形参同名的变量)
2.实参:方法调用时的参数
3.方法中的形参修改的是对象本身,对实参没有影响,如果修改的是类 属性和方法,将对实参产生影响
4.方法形参:
1.基本数据类型:形参和实参是两个变量,占用不同的内存空间
2.引用数据类型:形参只是一个引用,即实参是将内存地址赋值给形参
因此形参和实参指向的是同一个内存地址
引用传递会改变实参的值
8.封装:将属性和方法一起包裹在类中,并隐藏类的实现细节,使用方法访问的 一种手段
1.隐藏对象的实现细节
2.隐藏对象的属性信息
3.将已有数据类型的变量封装可以得到新的自定义类型
体现:
1.封装属性:将属性私有化,提供公有方法访问私有属性
2.封装功能:使用方法实现功能,通过访问修饰符,限制范乃文权限
3.封装数据类型:定义类,包括属性和方法
作用:
1.隐藏实现细节,保证数据的安全性
2.限制数据访问,提高程序的可维护性
9.访问修饰符:
public: 公有的: 任何地方都可以访问
protected:受保护的: 在本包和子类可以访问
freindly 默认的: 在本包内可以访问
private: 私有的: 在当前类内可以访问
10.this关键字:在对象内部指代自身的引用
1.在静态方法中不能使用this关键字
2.可以用this关键字调用静态方法
3.解决可能在实例变量和局部变量之间发生地任何同名冲突
11.继承(extends):在原有数据类型的基础上,通过添加新的属性和方法创建新的数 据类型
(继承在已有类的基础上派生出新类,但又不需要完全重新编码)
1.子类继承父类所有的属性和方法(除父类构造方法,通过公有方法访问私有属性)
2.super关键字在子类构造方法中显示调用父类带参的构造方法
3.super关键字在子类中指代父类的引用
特点:1.调用父类的构造方法,只能在子类构造方法的第一行
2.调用父类被重写的方法
3.调用父类有参的构造方法(系统自动调用父
类无参构造方法)
12.抽象类(abstract):不能实例化对象,用于继承
1.抽象类不一定有抽象方法,有抽象方法一定是抽象类
2.子类继承抽象类时,必须实现所有的抽象方法
抽象的过程是从众多同类对象中抽取相同的属性和相同的方法的过程。
13.接口(interface):接口是不同事物,相同功能的抽象,是一组方法的集合
1.接口中的方法都是公共的抽象(public abstract)
2.接口中的方法都没有实现(即没有方法体)
3.实现类必须实现接口所有的方法
4.实现类可以实现多继承
5.接口可以继承接口
6.接口的属性都是常量 public static final
14.多态:具有表现多种形态的能力的特征
面向对象最为重要的特点就是多态,它是指方法名称相同,实现细节却不同
专业术语:同一个实现接口,使用不同的实例而执行不同的操作
1.方法重载:同一个类中,方法名相同,参数列表不同
(参数类型不同,参数个数不同)
(编译时多态)
1.形参不能作为重载的标准
2.返回类型不能作为重载的标准
2.方法重写:在类的继承结构中,子类覆盖重写父类已有的方法
(运行时多态)
1.返回类型,方法名,参数列表相同
2.访问修饰符不能缩小,异常不能扩大
3.上溯造型:父类引用指向子类对象
缺陷:1.只能调用父类有的方法,被重写后调用子类重写的方法
2.丢失子类特有的属性
优势:1.减少重载方法的数量(代码复用)
2.新增实现类或子类时,不需修改代码(可扩展性)
15.同步方法或同步块
作用:保证方法或同步块只能让一个用户访问
缺陷:资源消耗比普通方法大
16.单例模式:
饿汉单例模式:
1.定义一个私有的构造方法
2.定义私有的静态的本类对象
3.定义一个公有的静态方法返回对象
懒汉单例模式:
17.软件设计的五大原则
单一职责原则 (SRP)
一个设计元素只做一件事
开-闭原则 (OCP)
一个软件实体应当对扩展开放,而对修改关闭。
里氏替换原则(LSP)
一个软件实体如果使用的是一个基类的话那么一定适用于其子类,而且它察 觉不出基类对象和子类对象的区别。也就是说,在软件里面,把基类都替换 成它的子类,程序的行为没有变化
依赖倒转原则(DIP)
要依赖于抽象,不要依赖于具体
接口隔离原则
不应该强迫客户使用于他们不用的方法
发表评论
文章已被作者锁定,不允许评论。
-
美邦智能
2013-03-30 14:35 0员工管理(工资,假期,) 客户管理 供应商管理 采购模块 ... -
加密解密
2011-12-03 14:59 871String a = "ABCc"; ... -
例_实_建_创_口_接_过_通
2011-08-17 09:50 509public interface IJieKou { ... -
BASE64编码
2011-08-12 16:59 628将对ABC进行BASE64编码: // 1、首先取ABC对 ... -
流_件_文_java
2011-07-20 14:10 667读取 File file = new File(" ... -
作_操_合_集
2011-07-05 15:09 739//Collections List<String> ... -
BigDecimal
2011-07-02 18:42 893double num1 = 2.36; double num2 ... -
件_文_Properties
2011-06-29 19:26 655Properties properties = new Pro ... -
Eclipse平台BPEL开发
2011-06-25 00:15 736Eclipse平台BPEL开发 -
件_文_缩_压
2011-04-11 19:46 653/****************************** ... -
素_元_组_数_除_删_加_增
2011-04-11 19:44 597private static void delIndexEle ... -
作_操_件_文_Java
2011-04-06 20:39 690/****************************** ... -
式_格_字_数
2011-04-06 20:36 669System.out.println(&quo ... -
用_引_软
2011-04-06 20:28 721/****************************** ... -
过_程_载_加_类
2011-04-06 20:27 6311.编写源代码 2.jdk变异成.class文件 3.类加 ... -
序_排_速_快_现_实_JAVA
2011-02-11 17:21 727JAVA实现一个快速排序? 排序的方法有:插入排序(直接插入排 ... -
器_时_定_java
2011-02-11 17:06 588public class aaa { //java定时执行 ... -
举_枚
2011-01-20 12:22 7571.枚举其实都是隐式的继承自java.lang.Enum。有类 ... -
类_e_l_i_F
2011-01-13 23:17 6101.File类提供了管理文件和目录的方法 delete() ... -
制_机_理_处_常_异
2011-01-13 22:29 7291.异常处理:如何表现异常情况?如何控制处理异常流程? 2. ...
相关推荐
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将程序设计中的实体(如数据和操作数据的方法)封装成独立的对象,这些对象之间通过消息传递进行交互。ANSI C,即美国国家标准协会制定的...
2Java语法基础 3Java类与对象详解 4Java继承和多态 5面向对象高级属性 6Ja...
列、 多 线 程、 正 则 表 达 式、 面 向 对 象 编 程、 文 件 操 作、 网 络 编 程、 邮 件 收 发、 数 据 库 操 作 等, 提 供 Python 爬 虫、 数 据 处 理 项 目 范 例, 各 章 还 安 排 了 调 试、 问 题 解 答...
第 一 章 Java概 述 ...1 所 有 面 向 对 象 的 应 用 开 发 ,包 括 面 向 对 象 的 事 件 描 述、处 理 、 综 合 等 ; 2 计 算 过 程 的 可 视 化 、 可 操 作 化 的 软 件 的 开 发 ; 3 动 态 画...
Hibernate 是 一 个 开 源 码 的、面 向 Java 环境 的 对 象 关 系 映 射 框 架。它 对 JDBC 进行 了非常 轻量 级 的 对 象 封装, 使 得 程 序 员 可 以 随 心 所 欲 地 使用 对 象 编 程 思 维 来 操纵 数 据 库。...
部 件,TIMER 部 件 的 程 序 跟 上 面 的 很 象, 因 为 它 首 先 要 实 现 的 是 全 屏 幕 的 拷 贝。 procedure TForm2.Timer1Timer(Sender: TObject); var Fullscreen:Tbitmap; FullscreenCanvas:TCanvas; ...
事实上,那本书现在已成为几乎所有 OOP(面向对象程 序设计)程序员都必备的参考书。(在国外是如此)。 GoF 的《设计模式》是所有面向对象语言(C++ Java C#)的基础,只不过不同的语言将之实现得更方便地使用。 GOF 的...
<<page 1>> page begin==================== 目 目目 目 录 录录 ... 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代...
文档标题和描述中提到的是"中考语文总复习资料",主要关注的是中学阶段语文学习的复习和准备,尤其是作文素材的收集。这部分内容对于备考中考的学生来说至关重要,因为作文是语文考试中的一个重要部分,能够体现学生...
用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数。 可以说C程序的全部工作都是由各式各样的函数完成的, 所以也把C语言称为函数式语言。 由于采用了函数模块式的结构, C语言...