接触Java也有几个年头了,从对编程没有什么概念的新人(在大学里啃J2SE6.0编程指南),到工作用Play框架写一些简单的模块,再到用Structs2+Hibernate编写主要模块,再到现在独立开发Android项目,感觉一路走来实属不易。快过年了,最近公司也没什么事情和放假想把Java再深入下。接下来会罗列一些Java语言需要学习的知识点、一些问题和疑惑和一些将要深入的知识点,算是为即将学习的Java知识做一个铺垫吧。

1.首先说下Java语言(由于本人才疏学浅,也只能说个大概了,语言还是要系统的学习下)

a.基础语言知识

b.简单的数据结构

c.简单的理解堆栈

d.会用I/O流

e.几个简单的设计模式

在这里谈下语言的学习,刚开始也是死记硬背(人比较笨,没办法),有些知识点也是后来才慢慢理解的,映象最深的还是String,new String("11"); 和 String s = "11"的区别,以及它们的创建过程和生成几个拘留字符串对象和字符传对象。像这些知识点可能会在面试中碰到。

2.问题和疑惑

a.首先得说下关于try/catch/throws/throw的一些疑惑,下面这段代码是在某公司中的代码,该公司某某人还必须用这种模式来编写代码。

public void loginChecking(String username, String password) throws Exception {
if(username == null || "".equals(username.trim())) {
new Exception("用户名不能为空");
}
if(username.length() < 6 || username.length() < 18) {
new Exception("用户名长度不能小于6位或大于18位");
}
if(password == null || "".equals(password.trim())) {
new Exception("用户名不能为空");
}
if(password.length() < 6 || password.length() < 18) {
new Exception("用户名长度不能小于6位或大于18位");
}
//...
}

这是一个自己写的简单登录验证的几行类似代码,这片代码我一直都存在一点疑惑,虽然这样写代码整体会好看些,但是。。记得《Effective Java》中有一句话——异常应该只适用于异常的情况下,他们永远不应该用于正常的控制流程。虽然对事物

应该持有怀疑的态度,但是书中也解释了此说法的正确性,毕竟该作者还是比较权威的。

b.第二个问题是关于继承重写,首先构造一个实体类(也是我在平时开发中的一个小小的经验),OverlayItem的API是com.baidu.mapapi.map.OverlayItem,即百度地图上的一个实体类,但是我在数据的传递过程中要 绑上自己想要带的数据,所以用

这种方法来实现,其实这个方法很常见,在这里简单的提下(给初学者总结点经验)。

class _OverlayItem extends OverlayItem {
private _GpsEmp gspEmp;
private _Project gspPro;
public _OverlayItem(GeoPoint arg0, String arg1, String arg2) {
super(arg0, arg1, arg2);
}
public void setGspEmp(_GpsEmp gspEmp) {
this.gspEmp = gspEmp;
}
public _GpsEmp getGspEmp() {
return gspEmp;
}
public void setGspPro(_Project gspPro) {
this.gspPro = gspPro;
}
public _Project getGspPro() {
return gspPro;
}
}
 
 

最新文章

  1. maven .assembly
  2. Rebar:Erlang构建工具
  3. 各种工具使用手册:http://www.itshouce.com.cn/linux/linux-tcpdump.html 关于tcpdump!!!!
  4. 关于weight属性使用的一些细节
  5. div高度自适外层div高度随里层div高度自适
  6. 冒泡排序 - vb.net
  7. java 类与类之间的关系 及uml图
  8. 更新版PowerBI发布了-- Power BI Report Server Update – March 2018
  9. 14.并发与异步 - 3.C#5.0的异步函数 -《果壳中的c#》
  10. connect socket的超时设置
  11. 【vue】使用localStorage解决vuex在页面刷新后数据被清除的问题
  12. 转载 基于JAVA每月运势api调用代码实例
  13. hdu1358 Period kmp求循环节
  14. EntityFramework4.5使用Expression类创建动态查询及动态查询导航属性
  15. 网站优化JS css压缩
  16. php-fpm超时时间设置request_terminate_timeout分析
  17. Python -bs4介绍
  18. mysql安装,oracle安装
  19. ElasticSearh更新nested字段(Array数组)。怎么根据查询条件(query)复制一个(index)到新的Index how to update by query a nested fields data for elasticsearch
  20. .NET中的Func委托用法

热门文章

  1. Linux的十个最危险的命令
  2. mpdf与fpdf的使用比较
  3. ajax请求数据填充表格———使用art-template模板提高效率
  4. bzoj 2428: [HAOI2006]均分数据 随机化
  5. Python3的变化
  6. nginx出现504 Gateway Time-out的解决思路
  7. 线性稳压器 (LDO)
  8. HF Reader
  9. Druid 配置_配置WebStatFilter
  10. rabbitmq 连接測试