分享
 
 
 

通过了SCJP,个中经验和体会写在这里

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

经验:

1。关于取余:

-5 % -2

余数的符号看左边的运算数,所以余数为负。然后因为5 % 2为1,所以结果为:-1

-5 / -2 = 2

所以:-2 * 2 -1 = -5

同理:

-5 / 2 = -2,-5 % 2 =-1

以上也说明了关于整除可是取两者的符号啊!

摆脱,一定要看清题目

2.关于继承的访问权限。

protected,friendly谁的访问权限低呢?

因为:protected权限的函数,可以在包内被任何类调用,还可以在包外包外类调用,

而friendly函数只能在包里面调用,所以protected的访问范围更大,也就是其权限就高。

friendly 的权限低。

所以排序为:

public > protected > friently > private

3.对于接口而言

里面的方法如果没有修饰符默认都是public的。

所以默认继承的访问权限就只能够是public。不能是friendly

4.关于引用传递

在函数参数中,如果有对象的引用。则统统遵循如下原则。

传递过程,一律传递引用。

引用再使用的过程中可以改变所引用对象的值,但是如果,出了这个函数,

那么引用将继续指向原来的对象。

也即:函数传递中,引用本身的传递是传值,引用指向的对象在函数调用前后不发生变化

5.一个null的引用也可以直接的调用类的static成员而不会出现任何错误

6.In order for the Java Collections to work properly (and everything else in Java), the equals() and hashCode() methods must be compatible. Here, compatible means that if equals() reports that two instances are the same, then the hashCode() of both instances must be the same value.

7.静态成员应该以静态方法访问,但是也可以用对象名.静态变量名来访问

8.移位运算符:

int a = -1;

a = a >>> x;

如果是整型,它是根据 x mod 32来移位的。如果x=32则不移位。

如果x=1则和x=31 的移位结果一样。

9. 请注意:%(modulus)是可以用在浮点数上的。

取余就是不停的减,直到结果小于除数,结果就是余数

10。当访问变量的时候,用的是引用,当访问函数的时候,用的是对象。

特别适用于父类的引用,子类的对象的情况。

这个引用在使用变量的时候,肯定是父类的,倘若没有就会报错

11.try也可以不跟catch,跟finally就成了

12.倘若HashMap里面有了重复元素,则根据key来调用的是最后一个

13.关于子类函数抛出异常问题。

定理----------原则定理---------用于父类的代码,应该可以不加修改的用于子类

由此延伸一下定理:

定理一:如果子类函数抛出异常,父类覆写函数后,可以抛出异常也可以不抛出异常

定理二:如果子类函数没有抛出异常,则父类覆写函数后,一定不能够抛出异常。

关于Assertion的论述:

AssertionError 是 Error的子类,在一个方法的Throw语句中,我们并不一定要强制抛出它。

既然Error和它的子类不一定要强制抛出,那么我们就可以在自己的子类抛出它而不管其父类方法抛出什么东西。

这一点就像RunTimeException。

14。关于线程。

线程的调用是没有时间的。你不知道什么时候操作系统去调用和执行某个线程的,因此在线程里面去修改某一个值

该值是否真的变化了是不确定的。因为鬼才知道线程是否执行了?

15。方法里面的变量是不会主动初始化的。

16。byte可以有负数的,因此其范围为:-128到127

17。实现接口Runnable的类,一定要实现方法run,run是没有任何参数的

18.数组作为参数传递给函数的时候,如果函数内部改变了数组的元素的值,那么函数调用结束

数组的值为新值。

19.wait(),notify()都是object的实例方法,start(),run(),toString是Thread的实例方法。

sleep()是Thread的静态方法

20.==这种条件运算符比赋值运算=的优先级要高,所以......

21.

Collection, Set, SortedSet, List, Map and SortedMap. The most basic interface is Collection. Three interfaces extend Collection: Set, List, and SortedSet. The other two collection interfaces, Map and SortedMap, do not extend Collection, as they represent mappings rather than true collections.

22.

All the variables in an interface are implicitly static and final. Any methods in an interface have no body(implicitly abstract), so may not access any type of variable.

23.

向下转型的概念澄清:

class Base {}

class Sub extends Base {}

public class MyClass

{

public static void main(String argv[])

{

Base b = new Base();

Sub s = (Sub)b;

}

}

这里

Sub b= (Sub)b;

在编译期没有问题,但是执行期肯定会报错的。因为b本身是一个基类对象。所以向下转型会出问题。

但是修改

Base b = new Base();

为 Base b = new Sub();

就没有任何问题了。因为这样的话b本身就是个Sub对象

24.

Object 的equal方法,只是在两个引用是完完全全的同一个对象时结果才为真。

否则的话,统统为false,这点上,StringBuffer是完全一样的。

25.

java -Dorg.xml.sax.driver=com.nc.xml.SAXDriver SurveyReader

(注意,-D 后面 不 应该有空格。)

26.

倘若父类的没有默认构造函数,则子类构造函数一定需要显式的调用父类的构造函数,

否则编译不会通过。还有,如果子类所有的构造函数都是私有的,则该类不能够被继承

27。

请注意,8进制数是没有8的。

28。

关于hashCode和equal的原则问题

(1) Whenever two objects are equal according to the equals(Object o) method, then calling the hashCode method on each of the two objects must produce the same integer result.

(2) Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer.

29.

may not意思是:不能,不准

30.

构造函数里面调用方法的时候,也是动态的。

如果父类构造函数调用了一个方法,子类也覆写了这个方法,则当生成子类对象的时候,必然会因为调用父类构造函数而调用

子类这个方法。注意,只要是方法调用,就一定是动态类型识别

31.

关于assert

assert expression1:expression2;

如果expression1为false的话,抛出异常,内容为:expression2

为true的话,继续执行程序,不执行expression2。

If expression1 (which must be a boolean expression) is evaluated to true, the expression2 will not be evaluated

32.

If two objects are equal, the hash codes returned by them are same;but converse is NOT true. If two objects are not equal, their hash codes could still be same.

33.

当你在比int更小的任何型别(char,byte,short)上进行任何数学运算或位运算时,运算之前先被晋升为int,最后所得的结果也会是

int型别。因此如果你要将结果赋值给较小性别,你就要进行转型动作。

34.

float赋值:

float a = 2;

float c = 2f;

float b = 1.2f;这样是合法的

float b = 1.2;不合法。

原因,默认的带小数的是double,所以这样也行:

float b = (float)1.2;

35。

外覆类,除了String Buffer,equals比较的都是内容。所以只要内部的值一样,返回结果都是true

36.

this是个非static变量,不可以在main里面直接调用

37.

不能在方法内部定义static变量

38

147题目做到了第61题。

85分通过,心里面不胜欢喜!弄明白了很多概念

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有