面向对象B/S有关JavaSE总结
来源:互联网 发布:喀秋莎录屏软件破解版 编辑:程序博客网 时间:2024/06/05 02:52
一、基础
对象的特点:抽象、继承、封装、多态
面向对象最大的好处是可复用
UML统一建模语言
JAVA设计之初的目的:
1.解决C++中的比较复杂的问题(如:内存回收)
2.解决客户机上运行程序的安全问题
3.一次编译,随处运行
数据类型的优先级:
byte,short,char-->int(32位)-->long(64位)-->float(32位)-->double(64位)
byte,short,char之间不会互相转换,他们三者和其他数据类型混合计算时首先会转换为int类型
容量大得数据类型转换为容量小得数据类型时,要加上强制转换符,但可能造成精度降低或溢出;
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的哪一种数据类型,然后再进行计算。
实数常量(如:1.2)默认为double。
整数常量(如:123)默认为int。
值得注意的是:
数值间的相等比较,本质是比较他们二进制存储是否相等。(0.3f!=0.3 0.5f==0.5)
命名规范:(驼峰命名法)
包:将域名反转之后加上定义的包名,全小写(com.mysoft.util)
类:两个以上的单词,首字母大写,避免缩写
属性/变量:两个以上的单词,首字母小写,禁止包含下划线和美元符号,循环嵌套使用i/j/k
方法:两个以上的单词,第一个单词为动词,首字母小写(一般需要在类的底部写main方法进行测试,调试好后注释掉,一个包含main的方法的类会严重影响类的运行速度)
接口:首字母大写,采用完整的说明后加上able/ible/er
组件(Component):使用完整的说明(e.g.:okButton、cudtomerList、fileMenu)
静态常量(static final):全部采用大写,单词之间使用下划线分隔
JSP文件:尽可能说明JSP的完整的功能,所有单词小写
Servlet类:在所服务的对象后面加上后缀Servlet(e.g.:如UserServlet)
注释规范:实现注释和文档注释/**...*/
文档注释能够通过javadoc工具转换成HTML文件
二、JavaSE
导入包的时候不要使用*的原因:1.程序的速读会变快 2.我们会遇上包名不同但是类名相同的类,这样我们在编程中就会出现编译错误,我们甚至不知道同名类在那个包里面
java中所有未声明继承关系的类都是java.lang.Object类的子类,其lang下的公共类都无需写import
由于StringBuffer为线程安全类,故在使用多线程的时候必须使用StringBuffer类,其不能简单的用+,而是需要使用append连接两字符串
String为址传递,当改变指向同一字符串的String的值的时候会新生成一个新的字符串,但是当new两个一样的值的时候指向的是同一字符串。
StringBuffer为址传递,不会生成新的String,new的也是不同的字符串。
String sbinfoA = new String("haha");
String sbinfoB = new String("haha");
System.out.println(sbinfoA==sbinfoB);
为String 的时候是true,为StringBuffer的时候为false。
类的属性和方法能够被继承,但是其构造器无法被继承,子类必须实现一个或多个其父类的构造器。
finalize/System.runFinalization();通知垃圾收集器自行进行收集该对象,当不存在对该对象的更多引用时。
throw用于方法内部,throws用于方法的定义阶段
(throw new Exception(“账户中余额不足”) public int get money(int sum) throws Exception { ..... })
三、JavaSE高级应用
数据结构:顺序储存Vector(不建议)/ArrayList和名值对储存HashTable(不建议)/HashMap不是synchronize的,允许null的key和value,允许重复的value,但是不能有重复的key,效率上高于HashTable,都是用的差不多的hash/rehash算法
自动拆箱/装箱:
Integer在-128~127之间的时候是使用缓存的对象,而当不在这个范围内的时候会创建一个新的对象Integer i = 128;
String s = “abc” 为同一对象,String s = new String(“abc”)为new的不同的对象
final:被final修饰的常量在赋值后不可改变,被修饰的方法在在子类继承中不能被覆盖
静态(static):#属性 一般用做缓存,即使用了后所有的类都能够使用
#方法
1.只能访问类内的静态属性和方法,非静态的属性和方法无法访问。
2.使用类中的静态方法,类必须未被实例化,实例化后的类中的静态方法和属性都不能被使用。
有序否
允许元素重复否
Collection
否
是
List
是
是
Set
AbstractSet
否
否
HashSet
TreeSet
是(用二叉树排序)
Map
AbstractMap
否
使用key-value来映射和存储数据,Key必须惟一,value可以重复
HashMap
TreeMap
是(用二叉树排序)
接口:属性必须被实例化,必须为public、static、final,方法都是abstract和public的
使用单例模式:当构造器为private的时候,可以通过使用static方法来在static方法里面调用类的实例化的类。
- 面向对象B/S有关JavaSE总结
- javase面向对象个人小总结
- JavaSe总结-07--面向对象(2)
- JavaSe总结-08--面向对象(3)
- JavaSe总结-09--面向对象(4)
- JavaSe总结-10--面向对象(5)
- JavaSE 基础知识总结 ---面向对象之前
- JavaSE面向对象学习笔记总结
- JAVASE总结--06(面向过程、面向对象、内存分析)
- javaSE-面向对象-简介
- javaSE-面向对象-继承
- javaSE-面向对象-接口
- javaSE-面向对象-多态
- javaSE-面向对象-Object
- javaSE-面向对象-异常
- javaSE-面向对象-包
- javaSE之面向对象
- JavaSE--面向对象
- javascript的100个常用技巧收集
- for(foo('A');foo('B')&&(i<2);foo('C')) ,其实考的就是for (初始化语句; 判断条件; 循环条件)
- 12.java中是否有goto语句
- 2.1详解变量的定义、初始化与赋值
- Java线程简单调用
- 面向对象B/S有关JavaSE总结
- 自定义View基础(二)事件分发机制
- zoj1858
- Android 带删除按钮的EdiText
- 泛型用法
- day08--运算符、流程控制
- VTK修炼之道16:图像处理_窗口分割和图像融合(Viewport&vtkImageBlend)
- 广度优先算法(BFS)
- windows10产品密钥分享