十一 读书笔记.docx
- 文档编号:2909560
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:16
- 大小:25.95KB
十一 读书笔记.docx
《十一 读书笔记.docx》由会员分享,可在线阅读,更多相关《十一 读书笔记.docx(16页珍藏版)》请在冰豆网上搜索。
十一读书笔记
读书笔记
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修饰一个方法作为该类的访问点,用于创建该类的对象,且该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十一 读书笔记