四、Android学习第四天——JAVA基础回顾(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html)

四、Android学习第四天——JAVA基础回顾

这才学习Android的第四天,在程序中已经遇到了JAVA中以前不常用的一些知识点,赶紧回顾复习一下,打下基础

这里就做个简单的小结:

一、匿名内部类

  • 匿名内部类说白了就是个没有被命名的JAVA类 

在以下条件下使用匿名内部类比较适合:

①只用到该类的一个实例时

②类在定义后被马上用到

③类非常小(SUN推荐是在4行代码以下)

④给类命名并不会导致你的代码更容易被理解

在使用匿名内部类时,需要注意:

①匿名内部类不能有构造方法

②匿名内部类不能定义任何静态成员、方法和类

③匿名内部类不能是public、protected、private、static

④只能创建匿名内部类的一个实例

⑤一个匿名内部类一定是在new之后,用其隐含实现一个接口或实现一个类

⑥匿名内部类为局部内部类,所以局部内部类的限制对其都生效

具体的例子大家可以从网上看下,我这里只是大概的总结一下需要注意的东西。

二、线程

  • 线程说白了就是一个程序中不同的执行路径。 

线程跟进程的比较:

①每个进程都有独立的代码跟数据空间(进程的上下文),进程间得切换会有较大的开销

②线程可以看做是轻量级的进程,同一个线程共享代码跟数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小

③多进程:在操作系统中能同时运行多个任务(程序)

④多线程:在同一应用程序中有多个顺序流同时执行

new一个新线程类出来一般会使用下面两种方法的其中一个:

一:继承Thread类来创建一个新的线程,并重写run方法

二:实现Runnable方法

这里需要注意的是:

线程启动:Thread.start() 

方法调用:run()

这两种方式的区别:其实真正要启动一个新的线程,需要执行start()方法;run()方法并没有启动一个新的线程,只是在当前线程下,暂停去执行run方法中的方法体,然后再继续执行接下来的程序。

这两种方式的区别在今后也会详加介绍

原文地址:https://www.cnblogs.com/jenson138/p/4017615.html