欢迎来到天天文库
浏览记录
ID:38595565
大小:569.00 KB
页数:45页
时间:2019-06-15
《不错的JAVA学习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、45阿May的SCJP学习笔记for1.4System.out.println(010);输出八进制数010的十进制值8注意是数字0开头,不是字母o16进制以0x或0X开头classValHold{publicinti=10;}publicclassObParm{publicvoidamethod(){ValHoldv=newValHold();another(v);System.out.println(v.i);}publicvoidanother(ValHoldv){v.i=20;ValHoldvh=newValHo
2、ld();v=vh;System.out.println(v.i);}publicstaticvoidmain(String[]argv){ObParmo=newObParm();o.amethod();}}此题的答案是1020为什么不是1010呢?这样解释吧,按照sun官方的说法:当一个引用变量作为参数传递给一个方法时,在这个方法内可以改变变量的值,即改变引用指向的对象,(本题中将vh赋给v)但是方法的调用结束后,改变量恢复原来的值,即变量仍然指向原来的对象。(即another(v)调用结束之后,v又回复到第一次Val
3、Holdv=newValHold();时指向的地址空间。)但是如果在方法内改变了引用指向的对象的数据(属性),那么当方法的调用结束后,尽管引用仍然指向原来的对象,这个对象的某个属性已经被改变了(v的i值在执行v.i=20的时候就已经被改变了,所以调用another结束后,v.i已经变成了20)重载overload方法不能用返回值判断,而应当以参数判断(有无参数、参数类型、参数个数、参数排列顺序)publicclassInOut{Strings=newString("Between");publicvoidamethod(
4、finalintiArgs){intiam;classBicycle{Bicycle(){System.out.println(s);//这两句话可以,也就是说可以访问sSystem.out.println(iArgs);//和finalint常量//System.out.println(iOther);}}newBicycle();}publicvoidanother(){intiOther;}publicstaticvoidmain(String[]args){InnerclassInnerclass能够存取外部类的
5、所有实例变量----无论这些实例变量有什么样的存取控制符(比如private),就像类中的方法能够存取方法所在类的所有变量一样;如果innerclass定义在方法中,则innerclass能够存取方法所在的类中的实例变量,也能存取该方法中的局部变量,但该局部变量必须是final的,也就是只能访问方法中的常量.(上面所说的都是普通内部类,不是静态内部类的情况)4545阿May的SCJP学习笔记for1.4InOutinout=newInOut();inout.amethod(22);}}floatf=1/3;floatf=
6、10;//输出10.0inti=1/3;intx=(int)(1.23);doubled=999d;都是合法的表达式如果将floatf=1/3;改成floatf=1/3f;则f=0.0i=0d=999.0f=0.33333334Integer没有setValue方法。instanceofTestswhetheraninstancederivesfromaparticularclassorinterface。注意:实现了某接口的类的对象也是该接口的实例;某类的对象也是该类父类的实例。Interfacescannothave
7、constructors接口没有构造函数接口中的所有数据成员都是staticfinal,即静态常量(这两个关键字可以不写)但必须给常量赋初值;接口中的所有方法都只有定义没有实现细节,并且全部为public(可以不写出来),所以接口中的方法全部是抽象方法接口比抽象类更抽象Runnable接口只有run()一个方法注意:不带参数X位的数据类型的范围在-2x-1~2x-1-1特例:字符char型表示单个16位Unicode字符,所以它的取值范围0~216-1classBase{publicvoidBase(){System.o
8、ut.println("Base");}}publicclassInextendsBase{publicstaticvoidmain(Stringargv[]){//System.out.println(99);//(*)Ini=newIn();//i.Base();显式调用Base()有输出,可见加了返回类型后,B
此文档下载收益归作者所有