一、面向对象程序设计(OOP)

1.面向对象的程序设计是程序开发的一种方法。它将对象作为程序的基本单元,将程序和

数据封装其中,以提高软件的重用性、灵活性和扩展性

2.三个特征:

封装:隐藏信息

继承:

多态:

二、类

1. 类(class)是构造对象的一个模板,它表示对现实生活中一类具有共同特征的事物的抽象。

2. 对象有三个特征:

行为(behavior): 一般类中定义的属性、方法都可以看作是行为。

状态(state): 对对象施加操作、方法后,对象的响应。每个对象都保存着描述当前特征的信息,这就是状态。

标识(identity):用于区分具有相同行为和状态的不同对象。我们可以把声明对象时创建的变量看作是一个标识。

3. 构造方法和普通方法:构造器虽然有时候也被称为构造函数、构造方法,但和一般意义的方法不同,它们没有返回值并且不能被继承。

4. 构造器的调用必须伴随new 关键字(super也可以),构造器只是用于初始化实例的一组指令

5. this 关键字用于表示当前类对象,一般用于两种情况:

a.解析实例变量和参数之间的模糊

b. 将当前对象作为参数传递给另一个方法

b例:    public Dog2 addAge(int year){

Dog2 newDog = new Dog2(this); //this引用当前Dog2对象

newDog.age = newDog.age + year;

return newDog;

}

C.关键字this 还可以表示当前类的另一个构造器。如果在一个构造器内写上this(…),这个构造器就调用了同一个类的另一个构造器。如:

public Ceshi(String str){

this.str = str;

}

public Ceshi(String str , int num){

this(str);

this.num = num;

}

这种this 关键字的使用方式非常有用,公共的构造器代码部分只需要书写一次,可以做到代码重用。

注意:this(…)只能写在构造器的第一句!

6.方法的参数值传递:方法只传递参数的值,即不能在当前的方法内调用其他方法来修改参数的内存地址或者引用。(可以在方法内调用引用对象,并对其修改)

三、类之间的关系

1.依赖:比如猫吃鱼,在类Cat 中定义一个方法eat,它操纵类Fish 的某个实例。

2.聚合:表示一个类的对象包含另一些类的对象。例如在在线商城的一个购物车内可能

有多件商品,

3.继承:比如哈士奇Husky 继承自狗Dog。

四、包

1.包的命名:包的命名一般都以小写字母表示,同一层次下的包名必须唯一。如果是公司的大项目,Sun 公司建议将公司的Internet 域名以逆序的形式作为包名并对不同的子项目或模块使用不同的子包。例如Condoso 公司condoso.com 逆序形式是com.condoso , 然后进一步划分子包, 如com.condoso.ui ,com.condoso.test 等。

2.在没有导入一个类之前  想要实例化该类的对象  需要 例:

java.util.Date  myDate = new java.util.Date();

3. 如果想要导入一个包例如java.util 包下所有类可以使用importjava.util.*;

4.需要注意的是:a.这种导入方式不会导入java.util 包的子包下的类。

b.只能用*导入一个包而不能使用import java.*.*导入以java 为前缀的所有的包。

五、字符串的拼接

1. 1+5.6+"5"=="6.65"

六、数组

1. 概念: 数组是一种数据结构,一般用来组合相同类型的对象。

2.排序:

a.冒泡(Bubble)排序——相邻交换

b.选择排序——每次最小/大排在相应的位置

c.插入排序——将下一个插入已排好的序列中

3. 数组一旦创建就不能改变其大小

4. System.arraycopy(src, srcPos, dest, destPos, length)

数组的复制

src - 源数组。

srcPos - 源数组中的起始位置。

dest - 目标数组。

destPos - 目标数据中的起始位置。

length - 要复制的数组元素的数量。

int[] originArray = { 1, 2, 3, 4, 5 };  // 原来的数组

int[] newArray1 = new int[10];      // 一个新的数组

System.arraycopy(originArray, 0, newArray1, 0, originArray.length); // 把原数组的内容复制到新数组

5.二维数组:您不可以这样声明二维数组

int[][] a = new int[][5];

这样的写法表示第一维度没有确定,第一维度没有确定的情况下是无法确定第二维度的。

JAVA_SE复习(Class)的更多相关文章

  1. 7.JAVA_SE复习(文件)

    文件和流 1.什么是节点流和处理流 InputStream & OutputStream Reader & Writer 乃节点流, 前面加File之类的名词 的节点流 其余加动词的均 ...

  2. 6.JAVA_SE复习(集合)

    集合 结构图: 总结: 1.集合中的元素都是对象(注意不是基本数据类型),基本数据类型要放入集合需要装箱. 2.set与list的主要区别在于set中不允许重复,而list(序列)中可以有重复对象. ...

  3. JAVA_SE复习(多线程)

    线程 1.两种创建线程的方式都有自身的优点.  实现 Runnable 接口的优点:  从面向对象的设计观点看,Thread 类严格来讲是一个虚拟CPU 的封装,因此只有要改变或扩展该CPU 模型 ...

  4. JAVA_SE复习(异常)

    异常.调试和断言 一. 异常的分类 1. 可查异常    例: 2. 不可查异常  例:Runtime Exception 3. 异常的分类结构: 1. 不执行finally 子句的唯一情况是虚拟机关 ...

  5. JAVA_SE复习(OOP2)

    面向对象编程(二) 一.static 关键字 静态属性 1.不能覆盖静态方法.要被覆盖的方法必须是非静态的.在继承链中具有相同方法名的两个静态方法是两个互相独立的类方法.调用子类的静态方法只是将父类的 ...

  6. JAVA_SE复习(OOP1)

    面向对象编程(一) 一.继承 1. 在类图表示中,使用一个分为三块的矩形表示一个类.矩形的第一块表示类名,第二块描述这个类的属性及属性的数据类型,第三块描述这个类的操作,也就是方法以及返回类型.    ...

  7. JAVA_SE复习(basic)

    一.数据类型 1.基本数据类型 Ps:有效标识符:_.字母.$开头  之后可有数字 整型:byte 1 short 2 int 4 long 8  (字节) 取值范围:其范围是从负2 的该数据类型位数 ...

  8. iOS总结_UI层自我复习总结

    UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...

  9. vuex复习方案

    这次复习vuex,发现官方vuex2.0的文档写得太简略了,有些看不懂了.然后看了看1.0的文档,感觉很不错.那以后需要复习的话,还是先看1.0的文档吧.

随机推荐

  1. Open gl 的不规则图形的4联通种子递归填充和扫描线种子递归填充算法实现

    实验题目:不规则区域的填充算法 实验目的:验证不规则区域的填充算法 实验内容:利用VC与OpenGL,实现不规则区域的填充算法. 1.必做:实现简单递归的不规则区域填充算法. 2.选做:针对简单递归算 ...

  2. 通过缓存数据库结果提高PHP性能(转)

    众所周知,缓存数据库查询的结果可以显著缩短脚本执行时间,并最大限度地减少数据库服务器上的负载.如果要处理的数据基本上是静态的,则该技术将非常有效.这是因为对远程数据库的许多数据请求最终可以从本地缓存得 ...

  3. 优秀js插件收藏

    1. 滚动视差效果,类似锤子主页等效果实现 https://github.com/hahnzhu/parallax.js 2. jQuery全屏滚动插件 http://www.dowebok.com/ ...

  4. 第1章 游戏之乐——NIM(2)“拈”游戏分析

    NIM(2)“拈”游戏分析 1. 问题 有N块石头和两个玩家A和B,玩家A先将石头分成若干堆,然后按照BABA……的顺序不断轮流取石头,能将剩下的石头一次取光的玩家获胜.每次取石头时,每个玩家只能从若 ...

  5. C++编程对缓冲区的理解

    本文转自:http://www.vckbase.com/index.php/wv/1592 什么是缓冲区 缓冲区又称为缓存,它是内存空间的一部分.也就是说,在内存空间中预留了一定的存储空间,这些存储空 ...

  6. Little Bishops uva861

    Little Bishops A bishop is a piece used in the game of chess which is played on a board of square gr ...

  7. Frame Stacking 框架堆叠

    /* [题目来源]http://poj.org/problem?id=1128 [题目分析] 几张图片叠在一起,给出堆叠后的情况,要求出所有可能的从下到上的堆叠顺序. [思路分析] 1.题目已经很明确 ...

  8. Cannot start service SPUserCodeV4 on computer

    Cannot start service SPUserCodeV4 on computer SharePoint2010 部署问题: 当Visual Studio 2010中尝试部署Sharepoin ...

  9. Samba服务详解

    Samba文件服务器 本章结构 服务简介 SMB协议 Server Message Block,服务消息块 CIFS协议 Common Internet File System,通用互联网文件系统 S ...

  10. [转]Install Windows Server 2012 in VMware Workstation

    本文转自:http://kb4you.wordpress.com/2012/06/28/install-windows-server-2012-in-vmware-workstation-2/ Thi ...