java基础资料

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java基础复习知识点一.位移运算:1).按二进制形式把所有数据向左向右移动相应的位数,高位舍弃,低位的空位补零.例:32,则是将3向左移2位,首先3的二进制位11,左移两位就是1100,变为十进制就是12,32,则是将3向右移2位,11右移两位舍弃为0.数学意义:在数字没有溢出的情况下,对于正数和负数,左移一位就相当于乘以2的1次方,右移一位就相当于除以2的一次方,二.运算符的优先顺序:1)..点、()圆括号、[]方括号、+(正号)、-(负号)、++、--、~(取补运算)、!、*、/、%、+、-、、、、=、、==、!=、&……从左到右运算三.数组://冒泡publicvoidmp(){for(inti=0;iarr.length;i++){for(intj=i+1;jarr.length-1;j++){if(arr[i]arr[j]){inttom=arr[j];arr[j]=arr[i];arr[i]=tom;}}}}//选择publicvoidxz(){for(inti=0;iarr.length;i++){intpose=0;intj=1;for(;jarr.length-i;j++){if(arr[pose]arr[j]){pose=j;}}inttom=arr[pose];arr[pose]=arr[j-1];arr[j-1]=tom;}}//插入publicvoidcr(){for(inti=1;iarr.length-1;i++){inttom=arr[i];intj=i-1;for(;j=0;j--){if(tomarr[j]){arr[j+1]=arr[j];}else{arr[j+1]=tom;break;}}if(j==-1){arr[0]=tom;}}}//快速publicvoidks(intlow,inthigt){intlo=low;inthi=higt;if(lo=hi){return;}booleanflag=false;while(lohi){if(arr[lo]arr[hi]){inttom=arr[lo];arr[lo]=arr[hi];arr[hi]=tom;flag=!flag;}if(flag){lo++;}else{hi--;}}lo--;hi++;ks(low,lo);ks(hi,higt);}四类与对象的关系:this\static\super\final\finally\finalize1).this:在类的方法定义中使用this关键字代表使用该方法的对象引用,有时使用this可以处理方法中成员变量和参数重名的问题,this可以看做一个变量,它的值是当前对象的引用.2).static:static意思是静态,所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。可以修饰类、字段、属性、方法标记为static的就不用创建实例对象调用了,可以通过类名直接点出来,如果没有标记为静态就要通过创建实例对象来调用.3).supper:super()其实就是是调用父类的构造方法.4).final:对于基本类型,使用final关键字将使数值恒定不变;而对于对象引用,final则是使引用恒定不变。一旦引用被初始化为指向一个对象时,它也就无法再指向另外一个对象,然而该对象本身是可以被修改的。通常,对于一个既是static又是final的域只占一段不能改变的存储空间。5)finally:在java中的finally关键一般与try一起使用,在程序进入try块之后,无论程序是因为异常而中止或其它方式返回终止的,finally块的内容一定会被执行.6):finalize:finalize相当于析构函数,他是垃圾回收器回收一个对象的时候第一个要调用的方法。不过由于Java的垃圾回收机制能自动为我们做这些事情,所以我们在一般情况下是不需要自己来手工释放的。五.封装.继承与多态.接口继承:1.JAVA里没有多继承,一个类之能有一个父类。而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一样。这样用父类的变量去引用不同的子类,在调用这个相同的方法print()的时候得到的结果和表现形式就不一样了,这就是多态,相同的消息(也就是调用相同的方法)会有不同的结果2.JAVA中没有多继承,而用接口实现了多继承!一个类或是可以同时实现多个接口!例如:publicclassSonimplementsFather1,Father2,Father3{}接口有利于代码功能的扩展(增加新的功能)!而继承则有利于代码功能的修改(把旧的功能改成新的功能)!这里旧功能的修改和新功能的增加前提是不修改旧的功能,旧的功能仍然可以使用!旧类的代码也不做修改!六.接口抽象类类与类之间的关系类与接口之间的关系:继承类与类之间的关系:继承关系包含关系类与对象之间的关系:实例1).接口和抽象类的区别:Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以(就是interface中只能定义方法,而不能有方法的实现,而在abstractclass中则可以既有方法的具体实现,又有没有具体实现的抽象方法),这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而Java接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这显然是Java接口的缺点。Java接口和Java抽象类的存在就是为了用于具体类的实现和继承的,如果你准备写一个具体类去继承另一个具体类的话,那你的设计就有很大问题了。Java抽象类就是为了继承而存在的,它的抽象方法就是为了强制子类必须去实现的。七接口(简单工厂)抽象工厂角色:担任这个角色的是工厂方法模式的核心,任何在模式中创建对象的工厂类必须实现这个接口。在实际的系统中,这个角色也常常使用抽象类实现。具体工厂角色:担任这个角色的是实现了抽象工厂接口的具体JAVA类。具体工厂角色含有与业务密切相关的逻辑,并且受到使用者的调用以创建导出类。抽象导出角色:工厂方法模式所创建的对象的超类,也就是所有导出类的共同父类或共同拥有的接口。在实际的系统中,这个角色也常常使用抽象类实现。具体导出角色:这个角色实现了抽象导出角色所声明的接口,工厂方法模式所创建的每一个对象都是某个具体导出角色的实例。

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功