总结,也是为了更新博客
2013-11-20 16:13
225 查看
许久未更新。。。因为之前一直在看法语,准备法语考试。。。
考好后才开始慢慢又复习java,看android的东西。
为了更新blog,总结一下这几天看的东西中值得记录的部分。
一、1.7之后,switch表达式类型,不仅支持等价为int 基本类型的数据:byte
,short,char,int还可以支持String类型的数据。eg:
String str = "gay";
switch(str) {
case "gay":
;
}
二、静态方法不能调用非静态变量。或许是因为静态的是属于类,非静态的是属于对象,因此不能被调用?
三、只要代码被执行,则无论代码能否被执行(哪怕编译通过,执行报错)静态代码块都会被执行。是因为它是属于类,在运行的时候就已经被装载执行了么?静态代码块的作用一般是用于为静态属性赋值。
四、八个基本数据类型:byte short int long float double char
boolean;三个引用数据类型:class interface array
五、byte、short、int、long被赋值的时候,它们的字面量都为int,而float和double被赋值时,其字面量都为double型。但是又有一个很奇怪的现象是,比如:
float f = 0.2;
//会报错,说可能损失精度,这是因为f为float,而0.2为double;应改为 float f
= 0.2F;
byte b = 2;
//没问题,但是2为int,而b是byte,为什么会ok?
int i = 5; byte j = i + 1;
//这样又会报可能损失精度的问题
long lo = 9; int ji = lo +
1;//这样也会报可能损失精度的问题
猜测:可能byte short int是特殊的,其字面量分别是byte short int,当然它们本质上都是整型嘛。
六、Unicode为每种语言的每个字符设定了统一且唯一的二进制码,范围为:0-0x10FFFF;因为java使用的是Unicode编码,所以char
a = 'A';和char b = '汉';本质上是一样的。
七、从继承、super、this等等来看,java作为一种面向对象语言,所思所想都是如何减少重复代码,用最简单的方式,最精简的代码模拟现实世界。
八、对于new一个对象,其引用在栈内存中,其实际对象是在堆内存中。自动垃圾处理回收的只是堆内存中的资源,所以一些对读写接口的打开啊等等什么的,要记得读写好要断开关闭。
九、匿名对象,一般被使用一次,比如:
class Person {
int i;
void eat() { }
}
在其他的地方调用匿名对象new Person().eat(); new
Person().i;
十、static方法、static变量可以直接用类名调用,也可以用对象名调用。
十一、overload与override
overload:
1、在同一个类中
2、除了参数列表,两个方法的其他定义都相同
3、一般用于不同参数数量的多个构造函数,以及几个不同参数数量的同名方法
override:
1、在具有父子关系的两个类当中
2、父类和子类各有一个方法,它们的定义(返回值类型、方法名和参数列表)完全相同
3、一般是子类方法对于其继承的父类方法的完善、补充
十二、继承时,子类继承的是父类的成员变量和成员方法;子类的构造方法必须用super调用父类的构造方法。
十三、当用于调用本类或父类中的构造函数时,因为super和this都必须放在一个构造函数方法体中的第一行,所以他们不能同时出现,也不可能单个多次出现。
为什么是十三点,那就再加一点。。
十四、重要的是面向对象的思想,不要用java的语法写一个标准的C语言程序。虽然很多Chinglish已经变成日常惯用语,如long
time no see,但是学习最重要的是一种思维方式吧,就像dota更重要的应该是意识而非操作。额,有点形而上学了。。
多静下来想一想,总结总结。
考好后才开始慢慢又复习java,看android的东西。
为了更新blog,总结一下这几天看的东西中值得记录的部分。
一、1.7之后,switch表达式类型,不仅支持等价为int 基本类型的数据:byte
,short,char,int还可以支持String类型的数据。eg:
String str = "gay";
switch(str) {
case "gay":
;
}
二、静态方法不能调用非静态变量。或许是因为静态的是属于类,非静态的是属于对象,因此不能被调用?
三、只要代码被执行,则无论代码能否被执行(哪怕编译通过,执行报错)静态代码块都会被执行。是因为它是属于类,在运行的时候就已经被装载执行了么?静态代码块的作用一般是用于为静态属性赋值。
四、八个基本数据类型:byte short int long float double char
boolean;三个引用数据类型:class interface array
五、byte、short、int、long被赋值的时候,它们的字面量都为int,而float和double被赋值时,其字面量都为double型。但是又有一个很奇怪的现象是,比如:
float f = 0.2;
//会报错,说可能损失精度,这是因为f为float,而0.2为double;应改为 float f
= 0.2F;
byte b = 2;
//没问题,但是2为int,而b是byte,为什么会ok?
int i = 5; byte j = i + 1;
//这样又会报可能损失精度的问题
long lo = 9; int ji = lo +
1;//这样也会报可能损失精度的问题
猜测:可能byte short int是特殊的,其字面量分别是byte short int,当然它们本质上都是整型嘛。
六、Unicode为每种语言的每个字符设定了统一且唯一的二进制码,范围为:0-0x10FFFF;因为java使用的是Unicode编码,所以char
a = 'A';和char b = '汉';本质上是一样的。
七、从继承、super、this等等来看,java作为一种面向对象语言,所思所想都是如何减少重复代码,用最简单的方式,最精简的代码模拟现实世界。
八、对于new一个对象,其引用在栈内存中,其实际对象是在堆内存中。自动垃圾处理回收的只是堆内存中的资源,所以一些对读写接口的打开啊等等什么的,要记得读写好要断开关闭。
九、匿名对象,一般被使用一次,比如:
class Person {
int i;
void eat() { }
}
在其他的地方调用匿名对象new Person().eat(); new
Person().i;
十、static方法、static变量可以直接用类名调用,也可以用对象名调用。
十一、overload与override
overload:
1、在同一个类中
2、除了参数列表,两个方法的其他定义都相同
3、一般用于不同参数数量的多个构造函数,以及几个不同参数数量的同名方法
override:
1、在具有父子关系的两个类当中
2、父类和子类各有一个方法,它们的定义(返回值类型、方法名和参数列表)完全相同
3、一般是子类方法对于其继承的父类方法的完善、补充
十二、继承时,子类继承的是父类的成员变量和成员方法;子类的构造方法必须用super调用父类的构造方法。
十三、当用于调用本类或父类中的构造函数时,因为super和this都必须放在一个构造函数方法体中的第一行,所以他们不能同时出现,也不可能单个多次出现。
为什么是十三点,那就再加一点。。
十四、重要的是面向对象的思想,不要用java的语法写一个标准的C语言程序。虽然很多Chinglish已经变成日常惯用语,如long
time no see,但是学习最重要的是一种思维方式吧,就像dota更重要的应该是意识而非操作。额,有点形而上学了。。
多静下来想一想,总结总结。
相关文章推荐
- 【总结+持续更新】超级有用的博客文章的链接汇总
- 浅谈andorid的四种数据存储方式(也是为了方便自己以后查阅,会及时更新)
- 小项目集锦博客目录(不断更新,总结)
- 写博客不是为了分享和记录,只是为了自己总结
- 小项目集锦博客目录(不断更新,总结)
- Unity 相关经典博客资源总结(持续更新)
- Unity 相关经典博客资源总结(持续更新)
- 开始写博客的第一天,小小的纪念一下,为了消化自我的学习,也为了后来者少走弯路,每天都会更新,期待蜕变!
- sql总结之 被作为where过滤条件的字段 ,其值也是可以被更新的
- [置顶] Android+Java知识点总结-持续更新中(为了更好的自己)
- Unity 相关经典博客资源总结(持续更新)
- Unity 相关经典博客资源总结(持续更新)
- 好久不更新博客,关于spark-scala上开发的总结
- 项目中总结积累的一些实用的博客连接(价值连城!此博客一直在不断更新)
- Unity 相关经典博客资源总结(持续更新)
- 【转】Unity 相关经典博客资源总结(持续更新)
- Unity 相关经典博客资源总结(持续更新)
- 监听总结之start正在连接也是用旧的内容 故start时有读取但未更新内存上从listener文件来的内容
- Unity 相关经典博客资源总结(持续更新)
- 开始看"java编程思想",写博客只是为了总结我的收获,免得忘记。很多内容都是