Java SE阶段知识点以及思维导图

##Java SE阶段知识点以及思维导图
面向对象
【知识点思维导图已经上传到我的资源去啦!!!也可以点这个链接https://download.csdn.net/download/luminarysun/15113850】

1.面向对象是啥
1.1程序设计的思想1.2面向过程的区别1.2.1面向过程先考虑问题的解决流程,注意先后顺序1.2.2面向对象先把问题中涉及到的概念,先用对象表示出来,在统筹流程1.3类和对象的理解1.3.1类是图纸,对象是根据图纸盖出来的房子1.3.2类是自定义类型,对象是该类型创建出来的变量
2.基本语法2.1类的创建2.1.1class 关键字2.1.2类名一般要求首字母大写如果这个类是public修饰的,类名要和文件名一致2.1.3类内部可以有属性,也可以有方法2.1.4每个属性和方法,都可以加static,以及其他的访问权限控制的修饰符2.2对象的创建/类的实例化2.2.1使用new关键字进行2.2.2实例化一个对象的时候会给该实例分配内存空间针对该实例进行初始化把得到的实例的内存的地址,返回回去,使用一个引用来持有
3.static3.1static 的含义和字面意义没有任何关系3.2static 表示该属性或者该方法,和实例无关,而是和类相关3.2.1应该是通过类名.属性 的方式来访问3.2.2static 修饰的属性在内存中只有一份
4.对象的初始化4.1类属性的默认值4.1.1针对整数04.1.2针对浮点数0.04.1.3针对字符\u0004.1.4针对 boolenfalse4.1.5针对引用类型null4.1.6尽量显示的进行初始化,代码可读性更好一些。4.2就地初始化4.3构造代码块4.4构造方法4.4.1概念方法名字和类名相同不需要显式的写 return 不需要显式调用,new的时候自动被调用到4.4.2重要注意事项构造方法中,尽量不要调用其他的方法,尤其是可能被重写的方法要让对象尽快的进入到可工作的状态
5.toString5.1在进行 println 的时候,就会触发这个操作5.2Object 类的方法任何一个类都可以重写 toString 
6.封装6.1背景6.1.1管理程序的复杂程度6.1.2让调用者理解的细节越少,使用成本就越低6.2访问权限控制6.2.1public任何类都能访问6.2.2protected同包的类能访问其他包的子类能访问6.2.3default同包的类能访问6.2.4private类内部能访问6.3使用原则能用private尽量用privateprotected 和 default 用的相对较少6.4如果外部真的需要使用 private 的属性怎么办?6.4.1getter6.4.2setter6.4.3和封装的理念相悖,破坏了封装
7.继承7.1背景更好的代码重用(以类为单位)7.2语法7.2.1extends关键字7.2.2子类会继承父类所有的方法和属性哪怕这个属性是私有的属性,也是被继承到了7.2.3final禁止继承继承的体系不要太复杂7.3is-a 语义继承不能被滥用
8.组合8.1把类作为另外类的成员/属性8.2has-a语义
9.多态9.1背景封装的更近一步 使用者不需要知道具体的类型,也能完成使用9.2好处使用者了解的信息更少,不需要知道类型扩展更方便降低程序的圈复杂度,减少分支语句的数目9.3语法体现9.3.1向上转型9.3.2动态绑定9.3.3方法重写9.4补充语法9.4.1向下转型不是随便转的instanceof9.4.2抽象类不能实例化可以包含抽象方法可以包含一些普通的属性和方法抽象类能被单继承9.4.3接口只能包含抽象方法和 public static final 修饰的属性一个可以实现多个接口接口之间也能相互继承实现一个接口,就必须要把接口里面的抽象方法都实现出来
10.String10.1创建10.1.1String  s = "hello"没有创建新的对象,只是拿 s 引用指向了字符串常量池中的 “hello”10.1.2String  s = new  String("hello");一个新的String 对象,把“hello”拷贝了进去,引用指向了这个新对象10.2比较10.2.1   ==比较身份10.2.2equals比较内容equals也是Object 的方法默认就是比较身份10.2.3compareTo比较大小字典序10.3字符串常量池字符串字面值常量都是保存到常量池中常量池是堆上的一块内存区域后续如果需要用到同一个字符串常量,直接从池子里取即可,不需要重新创建对象10.4不可变对象10.4.1数据成员是private,并且没有提供public的方法来修改10.4.2常规手段不能修改,如果使用反射,也是能改的10.4.3好处更方便放到常量池中线程安全更有保证hashCode不变10.5常用操作比较查找替换截取子串切分10.6StringBuilder/StringBufferString的可变对象版本StringBuilder 和StringBuffer的区别
11.异常11.1目的防御式编程11.2基本语法11.2.1try11.2.2catchtry中抛出的异常需要和catch ()中的参数匹配catch可以分成多组11.2.3finally最后执行,收尾工作11.2.4throw主动抛出异常11.2.5throws声明该方法可能抛出哪些异常11.3异常体系11.3.1角度一ErrowException11.3.2角度二受查异常非受查异常11.4自定义异常


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部