`
xitongyunwei
  • 浏览: 929114 次
文章分类
社区版块
存档分类
最新评论

JAVA小结

 
阅读更多
张孝详老师的这本书看的看差不多了,因为已经感觉有些东西在淡忘,所以把知识点大概的回一下,做一下小结:
1:java编译环境配置
配置环境变量:path 和classpath

2:java中变量的定义方法
int a; char b;
要注意的是数组
int [] a = new int[5];注意点:在java中直接定义int a[5];是错误的,不能直接指定数组的大小。
基本类型之间的强制转换(注,java中所有的对象都继承于一个object类)
要注意类型的大小,转换时会出现的问题。

3:java函数
其中有一点面向对象的东东就是函数的重载:
必须注意,函数重载的意义,对于一个返回值类型相同,函数名相同,参数不同的函数,我们称之为重载

4:java运算符
加减乘除没什么号说的。
这里有一个 && 和 & 的区别和 || 和 |的区别
&& 和 || 不管两个什么对象进行这两个操作,返回的要么是true,要么是false
而&和|运算符则是对某一位进行的操作,两个byte型的进行&(|)操作返回true or false,但是int型或者其他类型的进行&(|)的操作,则是对这个数字的操作,最后得出的结果也是原来的类型的
运算符的优先级我们应该有一个了解,当然不清楚的话我们可以加()嘛,哈哈哈

5:java的流程控制
a:条件判断语句
if(条件)
{
}
else
{
}
条件成立执行if中的语句,不成立执行else的。没什么好说的

b:switch语句
switch()
{
case xx: *** break;
default: *** break;
}

c:while() 和 do...while()
也没什么好说的,不过要清楚他们的区别
while()条件满足,往下执行。
do...while() 不管条件先执行do语句部分,然后判断while条件是否满足,不满足结束,满足条件,执行do中的执行语句

c:for循环
这个用的都可以说是倒背如流了,没啥好说的了吧,不过有看到过一个写法,很新奇的,这里贴一下 for(string [] name :name)呵呵,这里简单说下哦,大家称之为(for/in循环),在for循环中相当于定义一个模版,冒号,后面加上数组名,或者是vector等链表容器也是可以的哦,有兴趣的百度下哦

d:说完循环当然要说一说continue 和break语句啦
他们都是结束循环,continue是结束当下的循环,继续执行下面的循环语句,break是直接跳出整个循环。有点绕口

6:java的核心思想:面向对象
a:封装
将类进行很好的封装,有利于程序的健壮和代码维护
finalize垃圾回收(类似于C++的析构函数,由于垃圾回收器不受程序控制,所以这个基本上算是一个摆设)
System.gc(强制启动垃圾回收器来回收垃圾)

引用数据类型:
引用说白了还是那个对象,将它作为函数形参的话我可以举一个很有意思的例子:
不使用引用的形参传递:这个就相当于有一个孩子叫小明,在学校又克隆了一个小明明,他们并不是同一个人,所以你打了小明明,小明并不知道,也不会痛,对他完全没有作用。所以你对这样的形参的改变,对于那个数据本身没有任何影响
使用引用的形参传递:这个就相当于有一个孩子叫小明,在学校大家给他起了个小名叫小明明,虽然名字不一样,其实他们是同一个人,所以你如果打了小明明其实就是打了小明。所以你如果在函数里对那个形参进行了操作,那么那个数据本身也会跟着改变

static关键字
静态的变量和函数可以直接被调用
不能使用this super关键字
只能调用同一个类里面的静态方法和静态变量

b:继承
记住一个 extends 关键字就哦了,不过要记住,有申明为abstract 的方法,一定要在类中进行实现,否则也只能定义一个abstract的类
这里有一个supper:使用这个方法,我们可以在子类的构造函数中调用父类的构造函数
方法的覆盖,子类可以覆盖(重写)父类的方法
final关键字(final的类不能被继承,final的方法不能冲洗,final变量就是常量(应该是类似于C++的const),只能初始化一次)
抽象类:就是abstract类了,如果继承这样的类,你又需要用你的类来进行实例化,那么需要将里面的abstract方法全部 overload一下。
接口:接口也是抽象类,只是我们平时定义的抽象类只是某几个方法是abstract的,但是接口里面的所有方法都是abstract的

c:多态
多态就是一种类型表现出多种状态。
个人认为这里有一个相当重要的概念:
这个是我常常混淆不清的两个东西,我搜索了一把,贴上来
先了解下型构:
int fun(int a,String b) void fun(int a,String b)
这两个型构是相同的,两个函数的参数是一样的,包括类型和顺序
int fun(int a,String b) void fun(String b,int a)
这两个型构是不同的,两个函数的顺序不一样。
重写,英文名是overriding,是指在继承情况下,子类中定义了与其基类中方法具有相同型构的新方法,就叫做子类把基类的方法重写了。这是实现多态必须的步骤。
重载,英文名是overloading,是指在同一个类中定义了一个以上具有相同名称,但是型构不同的方法。在同一个类中,是不允许定义多于一个的具有相同型构的方法的。

7:异常
这个java程序员每天都要说上N扁的词,记得以前坐我边上的java程序员一直说:诶..我这抛了个异常怎么怎么怎么样啊,或者,这里要抛一个异常呀,啥啥的,可见异常在java里面有很重要的地位
异常主要是用来处理问题的工具,活用最终要:
如果我们觉得程序哪里可能会出现问题那就用
try {
//要执行的语句
}
catch (InterruptedException e)
{
//出现异常的处理方法
}

当然如果你发现哪里可能会出现异常,然而你处理不了,或者并不想处理,需要抛一个异常,提醒后面使用你开发的模块的同志要注意异常的处理,方法是很简单,但是一定要记住:throws Exception(具体问题具体对待哦)

finally 关键字:这个是不管异常发生不发生,一定会执行的语句。
最好能养成
try {
//要执行的语句
}
catch (InterruptedException e)
{
//出现异常的处理方法
}
finally
{
}
这样的好习惯哦

package和import没啥好说的了,一个是打包,一个相当于C的include

到多线程部分就不写了,之前哟一篇博客已经写把我知道的写的的比较详尽了,也写不出啥新的东西了,呵呵
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics