接触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;
}
}
 
 

Java之速记(1) - 小结与疑惑的更多相关文章

  1. Java内部类的使用小结

    转载:http://android.blog.51cto.com/268543/384844/ Java内部类的使用小结 内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可 ...

  2. Java JDBC 数据库链接小结随笔

    Java JDBC 数据库链接小结随笔 一.链接数据库的步骤 二.关于Statement  和  PrepareStatement 两者区别 用法 三.关于 ResultSet 的一些小结 四.自定义 ...

  3. Java JDBC基础学习小结

    JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作.JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver.Connection.Statement.Re ...

  4. Java 相关注意事项小结

    程序是一系列有序指令的集合: Java主要用于开发两类程序: 1)桌面应用程序2)Internet应用程序1,Java程序:三步走,编写--编译--运行:2,使用记事本开发:1)以.java为后缀名保 ...

  5. [转载] Java集合框架之小结

    转载自http://jiangzhengjun.iteye.com/blog/553191 1.Java容器类库的简化图,下面是集合类库更加完备的图.包括抽象类和遗留构件(不包括Queue的实现): ...

  6. Java 各种锁的小结

    一. synchronized 在 JDK 1.6 之前,synchronized 是重量级锁,效率低下. 从 JDK 1.6 开始,synchronized 做了很多优化,如偏向锁.轻量级锁.自旋锁 ...

  7. java反射机制学习小结

    之前一直对java的反射机制理解得很模糊,今天因为学习spring,所以花了些时间总算把它理顺了,记录一下 另外,推荐读读这篇文章,写的挺好的http://blog.csdn.net/woshixuy ...

  8. java 中的equals()小结

    转载自http://www.cnblogs.com/jackyrong/archive/2006/08/20/481994.html Java中的equals是十分重要的,和= =要区别开来,最近在看 ...

  9. List接口方法使用(PS:Java 编程思想阅读小结)

    1.用代码说话 package JavaProject; import java.util.*; public class A{ public static void main(String[]arg ...

随机推荐

  1. Java基础学习——多线程之创建任务

    这次来盘点一下Java中用线程执行任务的写法. 1.扩展Thread 最基本的实现方法是在创建一个继承Thread的新类,在其中覆盖run()方法执行任务. public class MyThread ...

  2. bzoj 1051 强连通分量

    反建图,计算强连通分量,将每个分量看成一个点,缩点后的图是一个DAG,如果是一棵树,则根代表的连通分量的大小就是答案,否则答案为0. 收获: 图的东西如果不好解决,可以尝试缩点(有向图将每个强连通分量 ...

  3. BZOJ 3571 画框 KM算法 最小乘积最大权匹配

    题意 有n个画框和n幅画.若第i幅画和第j个画框配对,则有平凡度Aij和违和度Bij,一种配对方案的总体不和谐度为∑Aij*∑Bij.求通过搭配能得到的最小不和谐度是多少. n <= 70. 分 ...

  4. Nginx服务器的启动控制

    写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------主要内容包括: nginx服 ...

  5. Shell基础学习(三) 传递参数

    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 以下实例我们向脚本传递三个参数 ...

  6. JDK及JRE中bin工具说明

    jre/bin工具说明:javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件执行Java应用程序代码 appletviewer(小程序浏览器):一种执行HTM ...

  7. mmm-master漂移问题的分析

    date:20140527auth:Jin 一.问题描述线上store应用,偶尔出现慢的现象.检查发现是writer角色在master-backup之前漂移检查mysql-log没有发现异常,也没前端 ...

  8. 微信小程序导航栏,下面内容滑动,上册导航栏跟着滑动,内容随着导航栏滑动

    16.类似微信导航栏滑动.png 今日头条导航栏,下面滑动上面跟着滑动 index.wxml <swiper class="content" style="heig ...

  9. Windows UWP开发系列 – RelativePanel

    RelativePanel是在Windows 10 UWP程序中引入的一种新的布局面板,它是通过附加属性设置元素间的位置关系来对实现布局的.一个简单的示例如下: <RelativePanel&g ...

  10. head first---------facade design pattern

    head first----------外观模式或者门面模式         外观模式又名门面模式:提供了一个统一的接口,用来访问子系统中的一群接口.外观模式定义了一个高层接口,从而让子系统更容易使用 ...