每天进步一点点
surfaceView 按返回键 回来的时候会重新运行一次构造方法
按Home 不会重新运行
onKeyDown 需要先调用setFocusable(true) 获得焦点,否则按键无效果
onTouchEvent(
转载
精选
2011-11-23 11:25:39
1146阅读
经常在marathon源码和spark源码中看见Option[A]的身影,那它到底是用来干什么的呢?其实,Option 就像是一个容器,一个箱子;Option[A]有两种结果:A、Some[A] 表示容器不为空,存在A,然后就可以进行其他业务逻辑计算,如调用foreach,flatMap 等B、 None 表示容器为空,A是不存在的
原创
2017-08-11 08:57:46
1039阅读
假设有一需求:对子类的声明范围进行限制,不允许外界私自创建子类,如何实现呢?在scala里,可以使用sealed来进行设定;也就是说被sealed关键字修饰的trait,class类,具有以下特性: A、只能在本文件能声明子类 B、 进行模式匹配时,会默认进行case匹配校验;如果存在漏掉某些case情况的话,会有告警信息
原创
2017-08-14 22:26:06
325阅读
特性:A、将一个变量声明为lazy,则只有第一次使用该变量时,才会进行初始化;B、 赖加载特性使用场景:使用于比较耗时的计算业务;如网络IO,磁盘IO等;marathon源码,与spark源码中同样大量使用了这种特性;Java中的赖加载与scala中的赖加载的区别?1、 Java中的赖加载,实例:如单例模式代码如下:2、 Scala中实现赖加载,是通过关键字la
原创
2017-08-13 09:42:12
1091阅读
关键字type有两三种特性吧,用的最多的特性就是给类型起一个别名;如下例子所示:
原创
2017-08-16 13:46:31
358阅读
参考文章:http://www.jianshu.com/p/0de79845eaa4Try[A] 同样是一种容器。Option[A] 也是一种容器Try[A] 表示一种计算, 如果计算成功,返回是A的值如果出错的话,抛出异常ThrowableTry 存在两个子类型:1、 Success[A],表示计算成
原创
2017-08-16 18:05:07
572阅读
如何学习数组呢?可以从以下几个调度来考虑 1、 创建数组的方式有以下几种: 方式一:利用new创建,scala自动推断类型 方式二:利用new创建,添加类型声明 val b = n
原创
2017-08-12 09:54:43
441阅读
假设有一需求:对子类的声明范围进行限制,不允许外界私自创建子类,如何实现呢?在scala里,可以使用sealed来进行设定;也就是说被sealed关键字修饰的trait,class类,具有以下特性: A、只能在本文件能声明子类 B、 进行模式匹配时,会默认进行case匹配校验;如果存在漏掉某些case情况的话,会有告警信息
原创
2017-08-14 22:18:58
969阅读
关键字type有两三种特性吧,用的最多的特性就是给类型起一个别名;如下例子所示:
原创
2017-08-15 22:09:06
758阅读
分享目的:创建类时,主构造参数的修饰符有三种情况, 1、 不加任何修饰符 2、 使用var修饰符 &nbs
原创
2017-08-18 15:06:59
589阅读
一个工厂可以生产很多的产品,各种各样五花八门的产品。这些产品是通过工厂生产出来的,一个工厂可以生产这些产品。这样我们可以联想到自己所写的代码。工厂模式解决了创建实例化的过程。典型的例子就是计算器的问题。面试人员同样很喜欢把这样的题目考察应聘者。看是否有一种熟悉的面向对象思维,把代码封装,实现代码的重用性,继承基类。扩展自己所要实现的功能。面向对象的三大特性:封装性,继承,多态 像as3.0那样,我们可以实现一些简单的做法,例如我要计算面积这样的方法作为基类。然后我们用继续的方法继承基类原本的方法,但是我们要计算三角形面积,或者正方形面积,这些都是很简单,继承了基类的方法,并不是我们所要的结果.
转载
2012-02-16 20:29:00
68阅读
2评论
两种方式A、val方式,如val num = 2 注意:用val声明的变量,不允许再次修改值的;类似于java中的final修饰符B、 var方式,如var num = 3 注意:用var声明的变量,是可以再次修改值的一般建议,使用val方式来声明变量;目的是,在网络传输给其他服务,模块的对象时,不允许进行修改。从而,提供系统的健壮性。C、
原创
2017-08-10 09:03:09
695阅读
1、 scala 里同样可以定义内部类2、 每个外部类的对象的内部类,都是不同的类,因此,存数组时,要注意3、 内部类可以访问外部类的私有属性,反之不行package com.xej.learning.class_learning
/**
* Created by erjun on&nb
原创
2017-08-28 16:12:03
897阅读
1、 定义 如果一个函数没有名字的话,就是匿名函数了。只使用一次,并没有多次调用2、 匿名函数的使用场景将匿名函数,直接赋值给变量将匿名函数,作为函数的参数进行使用3、 匿名函数的几种表现形式?或者呈现形式没有参数输入,没有返回值的匿名函数有参数输入,没有返回值的匿名函数有参数输入,有返回值的匿名函数4、
原创
2017-09-04 09:32:52
2434阅读
定义函数在变量不处于其有效作用域时,还能够对变量进行访问,即为闭包;也就是说,变量超出了其作用域,还可以使用,就是闭包现象。可能针对的使用场景之一?比方说,年底了,公司针对每个部门的奖金是不同。比方说,销售部门奖金为10000,研发部门是15000,测试部门12000等,就可以使用闭包来实现例子,如下:object BiBaoTest {
d
原创
2017-09-11 09:41:46
1386阅读
var angel:Number=0; var speed:Number=0; var array:Array=new Array(); for(var i:int=0;i<10;i++) { var copyball:ball=new ball(); copyball.addEventListener(Event.ENTER_FRAME,runing); array.push(copyball); addChild(array[i]); }function runing(event:Event):void{ for(var j:int;j<10;j++) { angel=j*Ma
转载
2012-02-15 21:25:00
70阅读
2评论
apply方法一般什么地方出现 此方法一般在伴生对象中实现的目的: 改变了创建伴生类实例的方式,不再通过new的方式,而是直接使用类名() 的方式,scala底层会隐式的调用apply方法package 
原创
2017-09-01 08:48:14
1251阅读
1、Curring函数 定义? 将原来接收两个参数的一个函数,转换为两个函数,第一个函数接收原先的第一个参数,然后返回接收原先第二个参数的第二个函数。在函数调用的过程中,就变为了两个函数连续调用的形式在marathon源码以及Spark的源码中,也有体现,所以对()()这种形式的Curring函数,要理解。2、例子:object Curryi
原创
2017-09-07 16:24:07
576阅读
最近学习vue,发现很多用法都不会了,虽然照猫画虎可以跑起来,但是总感觉很朦胧,是是而非的感觉不太好。 听说这些都是ES6的用法,所以决定要学习一下ES6 ES6 全称:ECMASctipt 6 简称:ES6 是JavaScript语言的下一代标准(前一代标准是ES 3 吗?),2015年就发布了,
原创
2021-04-25 12:30:00
182阅读
最近学习vue,发现很多用法都不会了,虽然照猫画虎可以跑起来,但是总感觉很朦胧,是是而非的感觉不太好。听说这些都是ES6的用法,所以决定要学习一下ES6ES6全称:ECMASctipt 6简称:ES6是JavaScript语言的下一代标准(前一代标准是ES 3 吗?),2015年就发布了,目标是使得JavaScript语言可以用于编写复杂的大型应用程序,成为企业开发语言。(野心好像不小)。ES6
转载
2021-02-03 10:36:10
120阅读
2评论