(转自: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方法中的方法体,然后再继续执行接下来的程序。

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

四、Android学习第四天——JAVA基础回顾(转)的更多相关文章

  1. 五、Android学习第四天补充——Android的常用控件(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...

  2. 【Spring学习】【Java基础回顾-数据类型】

    Java基础回顾过程中,之前对于Java相关基础知识都是从这个人的博客看一些,那边的内容看一下,觉得不够系统化,决定用xmind脑图的形式,将Java基础知识回顾的作为一个系列,当前正在做的会包含: ...

  3. Java基础回顾_第二部分_Java流程控制

    Java基础回顾_第二部分 Java流程控制 Scanner对象(扫描器,捕获输入) import java.util.Scanner; public class Demo01 { public st ...

  4. Java基础回顾_第一部分

    Java基础回顾 基本数据类型 数值类型 什么是字节? 位(bit):是计算机中数据的最小单位 字节(byte):是计算机中数据处理的基本单位,习惯上用大写字母B来表示 1 B = 8 bit 字符: ...

  5. 【Android】完善Android学习(四:API 3.1)

    备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...

  6. Android入门第一课之Java基础

    通知:由于本周六场地申请没通过,所以本周的培训临时取消. 今天给大家带来的是Android入门的第一课,由于教室申请的不确定性,因此,每次培训的内容都会在博客先提前释放出来.首先Android的APP ...

  7. Android学习问题记录之java.lang.UnsatisfiedLinkError

    1.问题描述 Android Studio引入第三方类库时,出现错误java.lang.UnsatisfiedLinkError: 11-09 14:58:05.500 13280-13280/cn. ...

  8. 1、java基础回顾与加强

    一.    基础回顾 1   集合 1.1  集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList:    数组实现, ...

  9. Android学习笔记四十Preference使用

    Preference直译为偏好,博友建议翻译为首选项.一些配置数据,一些我们上次点击选择的内容,我们希望在下次应用调起的时候依旧有效,无须用户再一次进行配置或选择.Android提供preferenc ...

随机推荐

  1. sso demo mysql ( cas )

    基本配置 参考之前得随笔  http://www.cnblogs.com/rocky-fang/p/5354947.html 1. tomcat-cas 修改配置 1.1 在D:\test\sso\t ...

  2. Java知识体系

    Java知识体系 java知识结构.jpg web框架.jpg 计算机课程体系.png 2016-08-19_090929.png 流行的哈希算法生存状况.jpg "JAVA之父" ...

  3. redis持久化机制

    redis持久化 redis的数据存在内存中,所以存取性能好.但是存在内存中的数据存在一个问题,一旦机器重启,内存数据消失.为了解决这个问题,redis支持持久化.持久化就是为了解决内存数据丢失时恢复 ...

  4. 《高可用MySQL》1 – Windows环境下压缩版MySQL安装

    近日在读O’REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容.Master-Slave这东西吧,在许多公司都是标配,开发中基本天 ...

  5. Guava学习笔记目录

    Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libra ...

  6. android控制系统音量

    body_sb=(SeekBar)root.findViewById(R.id.body_sb);audioManager=(AudioManager)getActivity().getSystemS ...

  7. The POM for XXX:jar:${com.ld.base.service.version} is missing, no dependency information available

    最近有个jar改了名字后,有个依赖它的工程死活引用的是老名字,导致打包的时候出错,如下所示: [INFO] ---------------------------------------------- ...

  8. ae开发基础功能

    放大.缩小.pan.框选要素(新建命令,建立命令HOOK,赋给当前地图控件): ICommand cmd = new ControlsSelectFeaturesTool(); cmd.OnCreat ...

  9. umeng 渠道统计 android

    1.配置AndroidManifest.xml,添加权限 <uses-permission android:name="android.permission.ACCESS_NETWOR ...

  10. CoreDataManager-OC版-兼容iOS10以前的版本

    头文件: #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> /** CoreData管理器 */ ...