十一 读书笔记.docx

上传人:b****5 文档编号:2909560 上传时间:2022-11-16 格式:DOCX 页数:16 大小:25.95KB
下载 相关 举报
十一 读书笔记.docx_第1页
第1页 / 共16页
十一 读书笔记.docx_第2页
第2页 / 共16页
十一 读书笔记.docx_第3页
第3页 / 共16页
十一 读书笔记.docx_第4页
第4页 / 共16页
十一 读书笔记.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

十一 读书笔记.docx

《十一 读书笔记.docx》由会员分享,可在线阅读,更多相关《十一 读书笔记.docx(16页珍藏版)》请在冰豆网上搜索。

十一 读书笔记.docx

十一读书笔记

读书笔记

1.包的声明语句:

package关键字放在除注释以外的第一行

2.包的作用:

1.能够区分名字相同的类。

2.有助于实施访问权限控制(publicprivateprotecteddefault)

3.有助于划分和组织java应用中的各个类或者模块

3.包的命名规范:

1.包的名字通常采用小写

2.包名中要包含类的创建者或者拥有者的信息com.itany.hr

3.包名中要包含类所属的软件项目的信息

4.包名中要包含类在具体软件项目中所处的位置

例如:

com.itany.bbs.news;

4.编程规范(严格执行):

1.类名和接口名:

单词的首字母大写

2.方法名和变量名:

单词的首字母小写

3.常量:

采用单词的所有字母都大写,如果是有多个单词组成,每个单词之间用英文的下划线‘_’连接

5.包的导入/引入:

import关键字

定义一个方法的格式:

修饰符返回值类型方法名(行参列表)

{

方法体;

}

其中修饰符包括:

publicprivateprotected默认staticfinal

6.引用类型包括:

:

类、接口、数组

类型默认值取值范围

byte0-128~127

short0-2^15~2^15-1

int0-2^31~2^31-1Integer

long0-2^63~2^63-1

char\u00000~65535(2^16-1)Character

float0.0f-3.48*10^38~3.4*10^38

double0.0d-1.7*10*308~1.7*10^308

booleanfalsetruefalse

7.基本数据类型的转换:

自动类型转换:

从地位类型到高位类型进行自动类型转换

byte-->short(char)-->int-->long-->float-->double

强制类型转换:

从高位类型到地位类型进行强制类型转换

8.变量:

成员变量

实例变量:

没有被static修饰的变量称为实例变量

静态变量:

被static修饰的变量称为静态变量

局部变量(利用时要进行先初始化)

除了定义在类里面的变量,其他都是局部变量

9.表达式计算:

1.如果其中一个数最大的类型是long类型,那么结果值就是long类型

2.如果其中一个树最大的类型是float类型,那么结果值就是float类型

3.如果其中一个树最大的类型是double类型,那么结果值就是double类型

除此以外都是int类型

10.进制:

八进制:

以0开头--0176

十六进制:

以0x0X开头--10~15abcdef

正数取反第一次取反符号位不变然后-1,然后每位再取反

负数取反第一次取反符号位不变接着+1,然后每位再取反

11.循环:

for(;;)

{

//内层循环

for(;;)

{

}

}

return语句的作用:

1.结束执行方法

2.向当前方法的调用者返回数据,并结束本方法。

12.数组:

数组的默认值:

基本类型的数组的默认值和基本类型的数据的默认值一致,除此以外的数组的默认值都是null

jdk1.5以后新特性

13.foreach:

格式:

for(typevarName:

arrayName或者集合对象名)//重新定义一个varName此处的变量varName要和数组arrayName的类型相兼容

{

//打印变量varName

//自动迭代访问每个元素/每个对象{集合}

}

OOAObjectOrientedAnaiyisis面向对象分析方法

OODObjectOrientedDesign面向对象设计

14.类:

格式:

修饰符classclassName

{

属性;

方法;

钩造方法;

代码块;

内部类;

}

访问权限修饰符:

public公开的

protected向子类以及同一个包中的类公开(半公开)

private只有类本身可以访问,私有的(不对外公开)

default没有访问控制修饰符,向同一个包中的类公开

访问级别修饰符同类同包子类不同包

公开publicYYYY

半公开protectedYYY(同包)N(不)N

默认defaultYYN(不同包中)Y(同包)N

私有privateYNNN

 

15.定义一个普通方法:

修饰符【修饰符(静态)】返回值类型方法名(行参列表)【异常】

{

方法体;

}

分为:

实例方法

静态方法(类方法)

16.构造方法:

格式:

修饰符构造方法名(行参列表)

{

方法体;

}

注意:

1.构造方法名必须和类名保持一致

2.构造方法是没有返回值,因此不能使用void

17.封装:

定义:

是把过程和数据包围起来,对数据的访问只能通过已定义的方法

18.使用this注意:

1.一个成员直接调用另一个成员,可以省略this前缀

2.static修饰的方法中不能使用this引用

3.当this作为对象默认引用使用时,程序可以向访问普通引用变量一样来访问这个this引用

根据this出现位置的不同,this作为对象的默认引用有两种情形:

1.构造方法中引用该构造方法执行初始化的对象

2.在方法中引用调用该方法的对象

19.方法的重载(overload):

是一个类中多态形的一种表现

必要条件:

1.方法名必须相同

2.方法参数类型,参数的个数,参数的顺序(类型不同),至少有一项不同

3.方法的返回值类型可以不同

4.方法的修饰符可以不同

5.抽象方法也可以被重载

20.继承:

定义:

是一种连接类的层次模型,并且允许和鼓励类的重用,他提供了一种明确表述共性的方法。

关键字:

子类extends父类

21.方法的重写(override覆盖):

如果在子类中定义某方法与其父类有相同的名称和参数,此时被称为方法的重写

重写方法必须满足多种约束条件:

1.子类方法的名称、参数签名和返回值类型必须与父类方法的名称、参数签名和返回值类型一致。

2.子类方法不能缩小父类方法的访问权限,可以扩大访问权限,但是首先是你能够继承父类的该方法。

3.子类的方法不能抛出比父类方法更多的异常

4.方法重写只存在于子类与父类之间,同一个类中方法只能被重载,不能被重写

5.父类的静态方法不能被子类重写为非静态方法

6.父类的非静态方法不能被子类重写为静态方法

7.子类可以定义与父类的静态方法同名的静态方法,以便在子类中隐藏父类的静态方法

8.父类的私有方法不能被子类重写

9.父类的抽象方法可以被子类通过两种途径重写:

1:

子类实现父类的抽象方法。

(abstract用来修饰一个抽象类/抽象方法)

2:

子类重新声明父类的抽象方法

10.父类的非抽象方法可以被子类重写为抽象方法

方法的覆盖和方法的重载的相同点:

1.都要求方法名相同

2.都可以用于抽象方法和非抽象方法

3.都可以用于静态方法和非静态方法

不同点:

1.方法的重载是用于在一个类中,而方法的重写只能用于子类重写父类的方法

2.方法的重写要求参数签名必须一致,方法的重载要求参数签名必须不一致

3.方法的重写要求返回值类型必须一致,而方法的重载对此没有限制

4.方法的重写要求访问权限和异常有特殊要求,而方法的重载对此没有限制

5.父类的方法只能被子类重写一次,而一个方法在所在类中可以重载多次

6.父类的静态方法(非静态方法)不能被子类重写为非静态(静态),而方法的重载对此没有限制

子类引用父类中的构造方法使用:

super();

子类引用父类中的被屏蔽的方法和属性

super.methodName();或者super.varName;在同一个类中一个构造方法引用另一个构造方法:

this();

在同一个类中引用被屏蔽的属性或者引用另外一个实例成员:

this.varName;或者this.methodName();

22.多态:

定义:

如果编译时类型和运行时类型不一致,就会产生多态

注意:

变量没有多态,多态是对方法而言的。

23.代码块:

格式:

修饰符实例代码块得分配空间new一个对象,才能用

{

}

static类运行了就能执行

{

}

优先级:

静态的优先级大于实例代码块,大于构造方法

在实例代码块和构造函数中,父类与子类之间,先执行父类的实例代码块,然后执行父类的构造方法,然后执行子类的实例代码块和构造函数

24.引用类型的转换

向上转型:

当把子类对象赋给父类对象时,被称为向上转型(基本数据类型的自动类型转换),反之为向下转型

向下转型:

(相当于基本类型的强制转换)

注意:

如果试图把一个父类实例转换子类类型,则必须这个对象实际上是子类实例才行,否则将在运行时引发ClassCastException(类型转换异常)异常

25.instanceof

格式:

引用类型变量instanceof类或接口(名字)

作用:

用于判断前面的对象是否是后面类/接口的子类实例、实现类的实例,如果是则返回true,否则返回false;

26.组合:

定义:

指由几个部分或个体结合成的整体

特点:

组合也是实现类的重用的重要方式,而采用组合方式实现类重用则能提供更好的封装性。

组合是把旧类(父类)对象作为新类(相当于子类)的属性嵌入,用以实现新类的功能,用户看到的是新类的方法,而不能看到嵌入对象的方法,因此,通常需要在新类里使用private修饰嵌入旧类对象。

组合和继承的相似之处:

代码的重用性

区别:

组合优点:

1.不破坏封装,整体类与局部类之间松耦合(两个类之间的紧密关系程度)彼此相对对立

2.具有较好的可拓展性。

3.支持动态组合,在运行时,整体对象可以选择不同类型的局部对象

4.整体类可以对局部类进行包装,封装局部类的接口,提供新的接口

缺点:

1.整体类不能自动获得和局部类同样的接口

2.创建整体类的对象时,需要创建所有局部类的对象

继承优点:

1.子类能自动继承父类的接口

2.创建子类的对象时,无须创建父类的对象

缺点:

1.破坏了封装,子类与父类之间紧密耦合,子类依赖于父类的实现,子类无法独立

2.支持拓展,但是往往以增加系统结构的复杂度为代价

3.不支持动态继承,在运行时,子类无法选择不同的父类。

4.子类不能改变父类的接口

27.包装类

基本类型包装类

intInteger

charCharacter

byteByte

shortShort

longLong

booleanBoolean

doubleDouble

floatFloat

jdk1.5以后新特性:

28.自动装箱和自动拆箱

自动装箱:

是可以把一个基本类型变量直接赋给对应的包装类对象或赋给Object对象

自动拆箱:

则与之相反,允许直接把包装类对象直接赋给一个对应的基本类型变量

toString方法:

一般都是重写tostring方法(发牌程序)

29.单例类(singleton)

如果一个类始终只能创建一个实例,则这个类被称为单例类

单例类的要求:

(默写)

1.构造方法使用private修饰,从而把该类的所有构造方法隐藏其来

2.该类必须使用一个属性来缓存已经创建的对象,而且必须用static修饰

3.使用public修饰一个方法作为该类的访问点,用于创建该类的对象,且该

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1