四、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方法中的方法体,然后再继续执行接下来的程序。
这两种方式的区别在今后也会详加介绍
四、Android学习第四天——JAVA基础回顾(转)的更多相关文章
- 五、Android学习第四天补充——Android的常用控件(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...
- 【Spring学习】【Java基础回顾-数据类型】
Java基础回顾过程中,之前对于Java相关基础知识都是从这个人的博客看一些,那边的内容看一下,觉得不够系统化,决定用xmind脑图的形式,将Java基础知识回顾的作为一个系列,当前正在做的会包含: ...
- Java基础回顾_第二部分_Java流程控制
Java基础回顾_第二部分 Java流程控制 Scanner对象(扫描器,捕获输入) import java.util.Scanner; public class Demo01 { public st ...
- Java基础回顾_第一部分
Java基础回顾 基本数据类型 数值类型 什么是字节? 位(bit):是计算机中数据的最小单位 字节(byte):是计算机中数据处理的基本单位,习惯上用大写字母B来表示 1 B = 8 bit 字符: ...
- 【Android】完善Android学习(四:API 3.1)
备注:之前Android入门学习的书籍使用的是杨丰盛的<Android应用开发揭秘>,这本书是基于Android 2.2API的,目前Android已经到4.4了,更新了很多的API,也增 ...
- Android入门第一课之Java基础
通知:由于本周六场地申请没通过,所以本周的培训临时取消. 今天给大家带来的是Android入门的第一课,由于教室申请的不确定性,因此,每次培训的内容都会在博客先提前释放出来.首先Android的APP ...
- Android学习问题记录之java.lang.UnsatisfiedLinkError
1.问题描述 Android Studio引入第三方类库时,出现错误java.lang.UnsatisfiedLinkError: 11-09 14:58:05.500 13280-13280/cn. ...
- 1、java基础回顾与加强
一. 基础回顾 1 集合 1.1 集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, ...
- Android学习笔记四十Preference使用
Preference直译为偏好,博友建议翻译为首选项.一些配置数据,一些我们上次点击选择的内容,我们希望在下次应用调起的时候依旧有效,无须用户再一次进行配置或选择.Android提供preferenc ...
随机推荐
- sso demo mysql ( cas )
基本配置 参考之前得随笔 http://www.cnblogs.com/rocky-fang/p/5354947.html 1. tomcat-cas 修改配置 1.1 在D:\test\sso\t ...
- Java知识体系
Java知识体系 java知识结构.jpg web框架.jpg 计算机课程体系.png 2016-08-19_090929.png 流行的哈希算法生存状况.jpg "JAVA之父" ...
- redis持久化机制
redis持久化 redis的数据存在内存中,所以存取性能好.但是存在内存中的数据存在一个问题,一旦机器重启,内存数据消失.为了解决这个问题,redis支持持久化.持久化就是为了解决内存数据丢失时恢复 ...
- 《高可用MySQL》1 – Windows环境下压缩版MySQL安装
近日在读O’REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容.Master-Slave这东西吧,在许多公司都是标配,开发中基本天 ...
- Guava学习笔记目录
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libra ...
- android控制系统音量
body_sb=(SeekBar)root.findViewById(R.id.body_sb);audioManager=(AudioManager)getActivity().getSystemS ...
- The POM for XXX:jar:${com.ld.base.service.version} is missing, no dependency information available
最近有个jar改了名字后,有个依赖它的工程死活引用的是老名字,导致打包的时候出错,如下所示: [INFO] ---------------------------------------------- ...
- ae开发基础功能
放大.缩小.pan.框选要素(新建命令,建立命令HOOK,赋给当前地图控件): ICommand cmd = new ControlsSelectFeaturesTool(); cmd.OnCreat ...
- umeng 渠道统计 android
1.配置AndroidManifest.xml,添加权限 <uses-permission android:name="android.permission.ACCESS_NETWOR ...
- CoreDataManager-OC版-兼容iOS10以前的版本
头文件: #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> /** CoreData管理器 */ ...