Kotlin 技术培训

Size: px
Start display at page:

Download "Kotlin 技术培训"

Transcription

1 效率的抉择 : 用 Kotlin 做 Android 开发 Bennyhuo

2 个人简介 霍丙乾,Bennyhuo, 就职于腾讯地图 Github: Kotlin 微信公众号 Kotlin 社区 : Kotlin 博客 :

3 Kotlin 简介

4 Kotlin 的基本情况

5 Kotlin 的基本情况

6 Kotlin 的基本情况 Andrey Breslav Hadi Hariri

7 Kotlin 的基本情况

8 Kotlin 的基本情况

9 Kotlin 的基本情况 100% 兼容 Java

10 Kotlin 的基本情况

11 Kotlin 的基本情况

12 Kotlin 的基本情况 Android 官方开发语言

13 Kotlin 的基本情况

14 Kotlin 的基本情况

15 Kotlin 的基本情况 正式支持 JavaScript Target

16 Kotlin 的基本情况

17 Kotlin 的基本情况

18 Kotlin 的基本情况 Native Target 预览版 0.4

19 Kotlin 的基本情况

20 Kotlin 的基本情况

21 你是如何认识 Kotlin 的? 其他 15% 同学朋友 8% 缘分 13% Google IO 大会 42% JetBrains 22%

22 你从事何种职业? 其他 13% 服务端研发 14% 学生 17% Android 研发 56%

23 你或者你所在的项目如何使用 Kotlin 的? 其他 2% 不敢用 16% 全部使用 Kotlin 17% Demo 开发 44% 小范围线上 21%

24 你觉得 Kotlin 最吸引你的特性是什么? 没有分号 5% 属性代理 3% DSL 4% 协程 4% 数据类型 10% Lambda/ 高阶函数 25% 空安全类型 18% 跨平台一统江湖 17% 扩展方法 14%

25 你所在的公司人数? 以上 9% % 50 人以下 41% % %

26 你的年龄范围? 85 后 17% 其他 1% 80 后 8% 00 后 2% 95 后 25% 90 后 47%

27 Kotlin 高端大气上档次

28 相关资料

29 Android developer 地址 :

30 Kotlin 官网 地址 :

31 Kotlin 官网 ( 中文版 ) 地址 :

32 Kotlin 论坛 地址 :

33 Kotlin 论坛 ( 中文版 ) 地址 :

34 Kotlin 博客 地址 :

35 Kotlin 博客 ( 中文版 ) 地址 :

36 Kotlin 公众号 微信公众号 :Kotlin

37 Kotlin 教学视频 O'Reilly Introduction to Kotlin Programming: O'Reilly Advanced Kotlin Programming: Github Kotlin 入门到 放弃 : 慕课网 Kotlin 入门到进阶 :

38 培训目标 认识 Kotlin 了解 Kotlin 的基本语法 熟悉 Kotlin 特性的一些应用场景 最后把培训的内容都忘了

39

40 下面开始讲代码

41 Kotlin 版本 Jvm/Js 即将面世

42 简洁, 就要少写废话

43 高效, 就要少犯错误

44 创建工程

45 创建工程

46 配置工程 buildscript { ext.kotlin_version = '1.1.51' repositories { google() jcenter() dependencies { classpath 'com.android.tools.build:gradle:3.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files

47 配置工程 buildscript { ext.kotlin_version = '1.1.51' repositories { google() jcenter() dependencies { classpath 'com.android.tools.build:gradle:3.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files

48 配置工程 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' android {... dependencies { implementation filetree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version...

49 配置工程 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' android {... dependencies { implementation filetree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version...

50 如何定义变量 int anint = 2;

51 如何定义变量 val anint: Int = 2

52 如何定义变量 val anint: Int = 2

53 如何定义变量 val anint = 2

54 如何定义变量 val anint = 2 anint = 3

55 如何定义变量 val anint = 2 anint = 3

56 如何定义变量 var anint = 2 anint = 3

57 如何定义变量 val anint = 2 final int anint = 2; var anint = 2 int anint = 2; Kotlin Java

58 如何定义函数 void hello(int anint){ System.out.println(anInt);

59 如何定义函数 fun hello(anint: Int): Unit{ println(anint)

60 如何定义函数 fun hello(anint: Int): Unit{ println(anint)

61 如何定义函数 fun hello(anint: Int) { println(anint)

62 如何定义函数 fun hello(anint: Int) { println(anint)

63 如何定义函数 fun hello(anint: Int) { println(anint)

64 如何定义函数 fun hello(anint: Int) { println(anint)

65 如何定义函数 fun hello(anint: Int) { println(anint)

66 如何定义函数 fun hello(anint: Int): Unit{ println(anint)

67 如何定义数组 int[] intarray = new int[5]; int[] anotherintarray = {1,2, 3,4,5;

68 如何定义数组 val intarray = IntArray(5) val anotherintarray = intarrayof(1, 2, 3, 4, 5)

69 如何定义数组 int[] intarray = new int[5];

70 如何定义数组 int[] intarray = new int[5]; for (int i = 0; i < intarray.length; i++) { intarray[i] = i;

71 如何定义数组 val intarray = IntArray(5){ it

72 如何定义数组 val intarray = IntArray(5){ it * 2

73 如何操作数组 intarray[1] = 2; int element3 = intarray[3] ;

74 如何操作数组 intarray[1] = 2 val element3 = intarray[3]

75 运算符 intarray[1] = 2 intarray.set(1, 2) val element3 = intarray[3] val element3 = intarray.get(3) 如果是 List Set 呢?

76 运算符 class 逗你玩 { operator fun set(int: Int, value: Any){ operator fun get(int: Int) = Unit

77 运算符 class 逗你玩 { operator fun set(int: Int, value: Any){ operator fun get(int: Int) = Unit val 逗你玩的实例 = 逗你玩 () 逗你玩的实例 [2] = 3 val x = 逗你玩的实例 [1]

78 WARNING 请不要用中文编程, 不然你可能找不到工作

79 数组的类型 基本类型的数组 ShortArray/IntArray/LongArray/FloatArray/DoubleArray/CharArray/Bool eanarray 其他类型数组 val stringarray = Array(5){ it.tostring() // Array<String> val anotherstringarray = arrayof("hello", "world") val strings = arrayofnulls<string>(5)

80 数组的类型 基本类型的数组 ShortArray/IntArray/LongArray/FloatArray/DoubleArray/CharArray/Bool eanarray 其他类型数组 val stringarray = Array(5){ it.tostring() // Array<String> val anotherstringarray = arrayof("hello", "world") val strings = arrayofnulls<string>(5)

81 数组的类型 基本类型的数组 ShortArray/IntArray/LongArray/FloatArray/DoubleArray/CharArray/Bool eanarray 其他类型数组 val stringarray = Array(5){ it.tostring() // Array<String> val anotherstringarray = arrayof("hello", "world") val strings = arrayofnulls<string>(5)

82 如何定义类 interface AnInterface{ class SuperClass{ public SuperClass() { class SubClass extends SuperClass implements AnInterface{ public SubClass() { super();

83 如何定义类 interface AnInterface class SuperClass(){ class SubClass : SuperClass(), AnInterface{

84 如何定义类 interface AnInterface class SuperClass{ class SubClass : SuperClass(), AnInterface{

85 如何定义类 interface AnInterface class SuperClass class SubClass : SuperClass(), AnInterface

86 如何定义类 interface AnInterface class SuperClass class SubClass : SuperClass(), AnInterface

87 如何定义类 interface AnInterface open class SuperClass class SubClass : SuperClass(), AnInterface

88 如何定义类 interface AnInterface open class SuperClass class SubClass : SuperClass(), AnInterface

89 如何实例化类 SubClass subclass = new SubClass();

90 如何实例化类 val subclass = new SubClass()

91 如何实例化类 val subclass = new SubClass()

92 如何实例化类 val subclass = SubClass()

93 如何实例化类 var subclass = SubClass()

94 构造方法 interface AnInterface open class SuperClass class SubClass : SuperClass(), AnInterface

95 构造方法 interface AnInterface open class SuperClass( aparam: Int ) class SubClass : SuperClass( 10 ), AnInterface

96 构造方法 interface AnInterface open class SuperClass(aParam: Int) { init { println(aparam) val aproperty = aparam class SubClass : SuperClass(10), AnInterface

97 构造方法 interface AnInterface open class SuperClass(aParam: Int) { init { println(aparam) val aproperty = aparam class SubClass ( aparamforsuper: Int ) : SuperClass( aparamforsuper ), AnInterface

98 构造方法 class SubClass( val apropertyinsub: String, aparamforsuper: Int ) : SuperClass( aparamforsuper ), AnInterface

99 构造方法 class SubClass( val apropertyinsub: String, aparamforsuper: Int ) : SuperClass( aparamforsuper ), AnInterface val subclass = SubClass("Hello", 10) subclass.

100 构造方法 public class Call { private String callid;

101 构造方法 public class Call { private String callid; public Call(String callid) { this.callid = callid;

102 构造方法 public class Call { private String callid; public Call(){ // 稍后再初始化 callid public Call(String callid) { this.callid = callid;

103 构造方法 public class Call { private final String callid; public Call(String callid) { this.callid = callid;

104 构造方法 class Call(val callid: String)

105 构造方法 class Call(val callid: String){ constructor()

106 构造方法 class Call(val callid: String){ constructor()

107 构造方法 class Call(val callid: String){ constructor(): this()

108 构造方法 public ViewGroup(Context context) { this(context, null); public ViewGroup(Context context, AttributeSet attrs) { this(context, attrs, 0); public ViewGroup(Context context, AttributeSet attrs, int defstyleattr) { this(context, attrs, defstyleattr, 0); public ViewGroup(Context context, AttributeSet attrs, int defstyleattr, int defstyleres) { super(context, attrs, defstyleattr, defstyleres);...

109

110 构造方法 public SomeViewGroup(Context context) { super(context); init(); public SomeViewGroup(Context context, AttributeSet attrs) { super(context, attrs); init();

111 构造方法 public SomeViewGroup(Context context) { super(context); init(); initdata(); public SomeViewGroup(Context context, AttributeSet attrs) { super(context, attrs); init();

112 构造方法 public SomeViewGroup(Context context) { super(context); init(); initdata(); public SomeViewGroup(Context context, AttributeSet attrs) { super(context, attrs); init(); initdata();

113 构造方法 public SomeViewGroup(Context context) { super(context); init(); initdata(); public SomeViewGroup(Context context, AttributeSet attrs) { super(context, attrs); init(); initdata();

114 方法重载 public interface List<E> extends Collection<E> {... public E remove(int location); public boolean remove(object object);...

115 方法重载 public interface List<E> extends Collection<E> {... public E remove(int location); public boolean remove(object object);... List<Integer> integers = new ArrayList<>();... integers.remove(2);

116 方法重载 public interface List<E> extends Collection<E> {... public E remove(int location); public boolean remove(object object);... val integers = ArrayList<Int>()... integers.removeat(2)

117 方法重载 public interface List<E> extends Collection<E> {... public E remove(int location); public boolean remove(object object);... val integers = ArrayList<Int>()... integers.removeat(2)

118 默认参数 class SomeViewGroup(context: Context, attrs: AttributeSet?, defstyleattr: Int, defstyleres: Int) : ViewGroup(context, attrs, defstyleattr, defstyleres) { init {...

119 默认参数 class SomeViewGroup(context: Context, attrs: AttributeSet? = null, defstyleattr: Int = 0, defstyleres: Int = 0) : ViewGroup(context, attrs, defstyleattr, defstyleres) { init {...

120 protected void onresume() { super.onresume(); protected void onpause() { super.onpause(); tencentmapview.onpause();

121 覆写父类成员 public class MyMapView extends MapView {... public void onresume() { public void onpause() { super.onpause(); dosomethingonpause();...

122 覆写父类成员 class MyMapView(context: Context) : MapView(context) { fun onresume() { dosomethingonresume() override fun onpause() { super.onpause() dosomethingonpause()

123 覆写父类成员 class MyMapView(context: Context) : MapView(context) { override fun onresume() { dosomethingonresume() override fun onpause() { super.onpause() dosomethingonpause()

124 属性代理 public class Link { private double length = -1; private List<LatLng> points;...

125 属性代理 public void update(latlng latlng){... if(length == -1){ length = resolvelength();... private double resolvelength(){ return...;

126 属性代理 public void update(latlng latlng){... double length = getlength();... public double getlength(){ if(length == -1){ length = resolvelength(); return length; private double resolvelength(){ return...;

127 属性代理 private val length by lazy { resolvelength() private fun resolvelength(): Double { return...

128 属性代理 private val length by lazy {...

129 属性代理 private val length by lazy( SYNCHRONIZED ) {...

130 属性代理 enum class LazyThreadSafetyMode { SYNCHRONIZED, PUBLICATION, NONE,

131 属性代理 inline operator fun <T> Lazy<T>.getValue( thisref: Any?, property: KProperty<*> ): T = value

132 属性代理 private var _value: Any? = UNINITIALIZED_VALUE override val value: T get() { if (_value === UNINITIALIZED_VALUE) { _value = initializer!!() initializer = null return _value as T

133 属性代理 private var _value: Any? = UNINITIALIZED_VALUE override val value: T get() { if (_value === UNINITIALIZED_VALUE) { _value = initializer!!() initializer = null return _value as T private val length by lazy {...

134 属性代理 public interface ReadWriteProperty<in R, T> { public operator fun getvalue(thisref: R, property: KProperty<*>): T public operator fun setvalue(thisref: R, property: KProperty<*>, value: T)

135 属性代理 class PropertiesDelegate <T> (val path: String): ReadWriteProperty <Any, T> { val properties: Properties by lazy {... // 读属性 override operator fun getvalue(thisref: Any, property: KProperty<*>): T { val value = properties[property.name] val classoft = property.returntype.classifier as KClass<*> return if (Number::class.isSuperclassOf(classOfT)) {... // 如果是数值需要做一些转换 else { value as T override operator fun setvalue(thisref: Any, property: KProperty<*>, value: T) { properties[property.name] = value... // 存属性

136 属性代理 class PropertiesDelegate (val path: String) { val properties: Properties by lazy {... // 读属性 operator fun <T> getvalue(thisref: Any, property: KProperty<*>): T { val value = properties[property.name] val classoft = property.returntype.classifier as KClass<*> return if (Number::class.isSuperclassOf(classOfT)) {... // 如果是数值需要做一些转换 else { value as T operator fun <T> setvalue(thisref: Any, property: KProperty<*>, value: T) { properties[property.name] = value... // 存属性

137 属性代理 abstract class AbsProperties(path: String) { protected val prop = PropertiesDelegate(path)

138 属性代理 abstract class AbsProperties(path: String) { protected val prop = PropertiesDelegate(path) object MetaInfo: AbsProperties("/meta.properties"){ val version: String by prop val author: String by prop val name: String by prop val desc: String by prop

139 属性代理 object MetaInfo: AbsProperties("/meta.properties"){ val version: String by prop val author: String by prop val name: String by prop val desc: String by prop version=1.0-snapshot name=qcloudimageuploader desc= 方便地批量上传指定目录的图片到腾讯云的免费 50G 图床

140 属性代理 link: < rel="next", < rel="last"

141 属性代理 link: < rel="next", < rel="last"

142 属性代理 map["next"] = " map["last"] = "

143 属性代理 map["next"] = " map["last"] = " map["first"] = " map["prev"] = "

144 属性代理 class GitHubPaging{ val islast: Boolean =? val isfirst: Boolean =? val hasprev: Boolean =? val hasnext: Boolean =? operator fun get(key: String): String?{ return?

145 属性代理 class GitHubPaging{ val first: String? =? val last: String? =? val next: String? =? val prev: String? =? val islast: Boolean =? val isfirst: Boolean =? val hasprev: Boolean =? val hasnext: Boolean =?

146 属性代理 class GitHubPaging{ val first by map... val isfirst get() = first == null... 参考 Kotlin 公众号文章 : 用 Map 为你的属性做代理

147 属性代理 object Settings { var lastpage by pref(0) var daynightmode by pref(false) var enablepush by pref(false) 参考 Kotlin 公众号文章 : 用 Map 为你的属性做代理

148 接口代理 interface PageManager { fun showpage(clazz: KClass<out Page>) fun goback()

149 接口代理 class PageManagerImpl: PageManager{ override fun showpage(clazz: KClass<out Page>) {... override fun goback() {... override fun dismiss() {..

150 接口代理 abstract class AbstractPage(val pagemanager: PageManager) : Page, PageManager { override fun showpage(clazz: KClass<out Page>) { pagemanager.showpage(clazz) override fun goback() { pagemanager.goback() override fun dismiss() { pagemanager.dismiss()

151 接口代理 abstract class AbstractPage(val pagemanager: PageManager) : Page, PageManager by pagemanager{

152 接口代理 abstract class AbstractPage(val pagemanager: PageManager) : Page, PageManager by pagemanager

153 扩展成员 inline operator fun <T> Lazy<T>.getValue( thisref: Any?, property: KProperty<*> ): T = value

154 扩展成员 inline operator fun <T> Lazy<T>.getValue( thisref: Any?, property: KProperty<*> ): T = value

155 扩展成员 inline operator fun <T> Lazy<T>.getValue( thisref: Any?, property: KProperty<*> ): T = value

156 扩展成员 inline operator fun <T> Lazy<T>.getValue( thisref: Any?, property: KProperty<*> ): T = value

157 扩展成员 public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位转成为 px( 像素 ) */ public static int dip2px(float dpvalue) { final float scale = ContextHolder.getInstance().getContext().getResources().getDisplayMetrics().density; return (int) (dpvalue * scale + 0.5f); /** * 根据手机的分辨率从 px( 像素 ) 的单位转成为 dp */ public static int px2dip(float pxvalue) { final float scale = ContextHolder.getInstance().getContext().getResources().getDisplayMetrics().density; return (int) (pxvalue / scale + 0.5f);

158 扩展成员 //returns dip(dp) dimension value in pixels fun Context.dip(value: Int): Int = (value * resources.displaymetrics.density).toint() fun Context.dip(value: Float): Int = (value * resources.displaymetrics.density).toint() //return sp dimension value in pixels fun Context.sp(value: Int): Int = (value * resources.displaymetrics.scaleddensity).toint() fun Context.sp(value: Float): Int = (value * resources.displaymetrics.scaleddensity).toint() //converts px value into dip or sp fun Context.px2dip(px: Int): Float = px.tofloat() / resources.displaymetrics.density fun Context.px2sp(px: Int): Float = px.tofloat() / resources.displaymetrics.scaleddensity

159 扩展成员 listview.scrollx = dip(2) paint.strokewidth = dip(2).tofloat() paint.textsize = sp(12).tofloat()

160 扩展成员 logger.error("*************************") logger.error(" ")

161 扩展成员 fun String.times(other: Int): String{ return (1..other).fold(StringBuilder()){ acc, i -> acc.append(this) acc.tostring()

162 扩展成员 logger.error("*************************") logger.error(" ")

163 扩展成员 logger.error("*".times(8) ) logger.error("+".times(8) )

164 扩展成员 fun String.times(other: Int): String{ return (1..other).fold(StringBuilder()){ acc, i -> acc.append(this) acc.tostring()

165 扩展成员 operator fun String.times(other: Int): String{ return (1..other).fold(StringBuilder()){ acc, i -> acc.append(this) acc.tostring()

166 扩展成员 logger.error("*".times(8) ) logger.error("+".times(8) )

167 扩展成员 logger.error("*" * 8 ) logger.error("+" * 8 )

168 运算符 a + b a - b a.plus(b) a.minus(b) a * b a / b a.times(b) a.div(b)

169 扩展成员 String formatteddate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); Java

170 扩展成员 new Date().format("yyyy-MM-dd") Groovy

171 扩展成员 val formatteddate = SimpleDateFormat("yyyy-MM-dd").format(Date()) Kotlin

172 扩展成员 fun Date.format(format: String) : String{ return SimpleDateFormat(format).format(this)

173 扩展成员 fun Date.format(format: String) : String = SimpleDateFormat(format).format(this)

174 扩展成员 fun Date.format(format: String) = SimpleDateFormat(format).format(this)

175 扩展成员 val formatteddate = SimpleDateFormat("yyyy-MM-dd").format(Date()) Kotlin

176 扩展成员 val formatteddate = Date().format("yyyy-MM-dd")

177 如何比较对象 String astring = "Hello Kotliner"; String anotherstring = new String("Hello Kotliner"); System.out.println(aString == anotherstring); System.out.println(aString.equals(anotherString)); System.out.println(aString == anotherstring.intern()); System.out.println(aString.equals(anotherString.intern()));

178 如何比较对象 String astring = "Hello Kotliner"; String anotherstring = new String("Hello Kotliner"); System.out.println(aString == anotherstring); System.out.println(aString.equals(anotherString)); System.out.println(aString == anotherstring.intern()); System.out.println(aString.equals(anotherString.intern()));

179 如何比较对象 val astring = "Hello Kotliner" val anotherstring = String("Hello Kotliner")

180 如何比较对象 val astring = "Hello Kotliner" val anotherstring = String("Hello Kotliner")

181 如何比较对象 val astring = "Hello Kotliner" val anotherstring = String("Hello Kotliner".toByteArray()) println(astring === anotherstring) println(astring == anotherstring) println(astring === anotherstring.intern()) println(astring == anotherstring.intern())

182 如何比较对象 val astring = "Hello Kotliner" val anotherstring = String("Hello Kotliner".toByteArray()) println(astring === anotherstring) println(astring == anotherstring) println(astring === anotherstring.intern()) println(astring == anotherstring.intern())

183 如何比较对象 val astring = "Hello Kotliner" val anotherstring = String("Hello Kotliner".toByteArray()) println(astring === anotherstring) println(astring == anotherstring) println(astring === anotherstring.intern()) println(astring == anotherstring.intern())

184 如何比较对象 val astring = "Hello Kotliner" val anotherstring = String("Hello Kotliner".toByteArray()) println(astring === anotherstring) println(astring == anotherstring) println(astring === anotherstring.intern()) println(astring == anotherstring.intern())

185 如何比较对象 val astring = "Hello Kotliner" val anotherstring = String("Hello Kotliner".toByteArray()) println(astring === anotherstring) println(astring.equals(anotherstring)) println(astring === anotherstring.intern()) println(astring.equals(anotherstring.intern()))

186 如何比较对象 a == b a.equals(b) a === b a == b Kotlin Java

187 如何比较对象 var anint =... var anotherint =... if(anint < anotherint){ println("anint < anotherint") else { println("anint > anotherint")

188 如何比较对象 var anint =... var anotherint =... if(anint.compareto( anotherint ) < 0){ println("anint < anotherint") else { println("anint > anotherint")

189 运算符 a == b a.equals(b) a < b a.compareto(b) < 0 a > b a.compareto(b) > 0 a >= b 和 a <= b 呢?

190 数据类 public class Link { private String id; private double length; private String name; private String attributes; public String getid() { return id; public void setid(string id) { this.id = id;... // Getters/Setters

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Microsoft Word - Learn Objective-C.doc

Microsoft Word - Learn Objective-C.doc Learn Objective C http://cocoadevcentral.com/d/learn_objectivec/ Objective C Objective C Mac C Objective CC C Scott Stevenson [object method]; [object methodwithinput:input]; output = [object methodwithoutput];

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b 06 01 action JavaScript action jquery jquery AJAX 04 4-1 CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS background-color camel-cased DOM backgroundcolor.css()

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

RxJava

RxJava RxJava By 侦跃 & @hi 头 hi RxJava 扩展的观察者模式 处 观察者模式 Observable 发出事件 Subscriber 订阅事件 bus.post(new AnswerEvent(42)); @Subscribe public void onanswer(answerevent event) {! }! Observable observable = Observable.create(new

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

IoC容器和Dependency Injection模式.doc

IoC容器和Dependency Injection模式.doc IoC Dependency Injection /Martin Fowler / Java Inversion of Control IoC Dependency Injection Service Locator Java J2EE open source J2EE J2EE web PicoContainer Spring Java Java OO.NET service component

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

Microsoft PowerPoint - L17_Inheritance_v4.pptx

Microsoft PowerPoint - L17_Inheritance_v4.pptx C++ Programming Lecture 17 Wei Liu ( 刘 威 ) Dept. of Electronics and Information Eng. Huazhong University of Science and Technology May. 2015 Lecture 17 Chapter 20. Object-Oriented Programming: Inheritance

More information

Microsoft PowerPoint - plan08.ppt

Microsoft PowerPoint - plan08.ppt 程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 8. 面 向 对 象 为 什 么 需 要 面 向 对 象? OO 语 言 的 发 展 面 向 对 象 的 基 本 概 念 封 装 和 继 承 初 始 化 和 终 结 处 理 动 态 方 法 约 束 多 重 继 承 总 结 2012

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class - Table.class

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

幻灯片 1

幻灯片 1 Delivering accurate maps to Chinese Android users 为中国安卓用户提供准确的地图服务 Work at Mapbox includes: Android apps, demos, starter kits, documentation, support, syncing Android team with other departments, etc.

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

建模与图形思考

建模与图形思考 C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

Microsoft Word - 物件導向編程精要.doc

Microsoft Word - 物件導向編程精要.doc Essential Object-Oriented Programming Josh Ko 2007.03.11 object-oriented programming C++ Java OO class object OOP Ruby duck typing complexity abstraction paradigm objects objects model object-oriented

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

INTRODUCTION TO COM.DOC

INTRODUCTION TO COM.DOC How About COM & ActiveX Control With Visual C++ 6.0 Author: Curtis CHOU mahler@ms16.hinet.net This document can be freely release and distribute without modify. ACTIVEX CONTROLS... 3 ACTIVEX... 3 MFC ACTIVEX

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

nb.PDF

nb.PDF 2 3 4 5 6 51,482.10 7 8 2000 8 8697.843 2002 12 6 2 PROP 2000 10 210860 2003 1 ( ) PROP PROP (2) 1948 1983 ( ) 26, 90 9 10 11 12 13 14 (1) 2002 12 31 2001 12 31 % 312,520,919.29 70,150,996.67 345.50 79.875.142.53

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

Strings

Strings Inheritance Cheng-Chin Chiang Relationships among Classes A 類 別 使 用 B 類 別 學 生 使 用 手 機 傳 遞 訊 息 公 司 使 用 金 庫 儲 存 重 要 文 件 人 類 使 用 交 通 工 具 旅 行 A 類 別 中 有 B 類 別 汽 車 有 輪 子 三 角 形 有 三 個 頂 點 電 腦 內 有 中 央 處 理 單 元 A

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

RunPC2_.doc

RunPC2_.doc PowerBuilder 8 (5) PowerBuilder Client/Server Jaguar Server Jaguar Server Connection Cache Thin Client Internet Connection Pooling EAServer Connection Cache Connection Cache Connection Cache Connection

More information

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

使用Cassandra和Spark 2.0实现Rest API服务

使用Cassandra和Spark 2.0实现Rest API服务 使用 Cassandra 和 Spark 2.0 实现 Rest API 服务 在这篇文章中, 我将介绍如何在 Spark 中使用 Akkahttp 并结合 Cassandra 实现 REST 服务, 在这个系统中 Cassandra 用于数据的存储 我们已经见识到 Spark 的威力, 如果和 Cassandra 正确地结合可以实现更强大的系统 我们先创建一个 build.sbt 文件, 内容如下

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

Microsoft Word - A201103-528_1299547322.doc

Microsoft Word - A201103-528_1299547322.doc 5 10 15 20 25 30 基 于 Android 平 台 的 人 机 交 互 的 研 究 与 实 现 郁 亚 男 ( 北 京 邮 电 大 学 软 件 学 院, 北 京 100876) 摘 要 : 随 着 计 算 的 发 展, 计 算 变 得 越 来 越 自 由, 在 资 源 使 用 方 面 也 越 来 越 灵 活 移 动 终 端 由 于 无 线 通 信 网 络 传 输 速 率 的 提 高,

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

NethersoleJO89(8).indd

NethersoleJO89(8).indd 2 3 4 5 6 7 8 9 10 雅風四十六期 二零零八年九月 婆婆的愛心感動了我 陳姑娘在災區認識了白婆婆 她的家人全都在外地工 作 婆婆表示地震當日 她急忙地救了兩戶鄰舍的兩名小 孩 拖著六歲的男孩和揹著四個月大的嬰孩從災區步行兩 日後到達救援區 獲救的男孩每天都前往帳篷探望婆婆 因此她面上常帶笑容 每當白婆婆看見義工隊到災區時 都會送上暖暖的問候 更將獲配給的涼水贈予義工們 她 那真誠和熱切的關懷深深感動了義工隊

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

建立Android新專案

建立Android新專案 Android 智 慧 型 手 機 程 式 設 計 Android WebService 建 國 科 技 大 學 資 管 系 饒 瑞 佶 2012/4 V1 2012/8 V2 2013/5 V3 2014/10 v4 提 醒 這 節 的 內 容 針 對 的 是 MS 的 Web Service 或 是 使 用 SOAP(Simple Object Access Protocol) 標 準 建 立

More information

<4D6963726F736F667420506F776572506F696E74202D20B5DA3035D5C220C3E6CFF2B6D4CFF3B8DFBCB6B3CCD0F2C9E8BCC6>

<4D6963726F736F667420506F776572506F696E74202D20B5DA3035D5C220C3E6CFF2B6D4CFF3B8DFBCB6B3CCD0F2C9E8BCC6> Java 程 序 设 计 教 学 课 件 河 南 农 业 大 学 信 管 学 院 计 算 机 系 河 南 农 业 大 学 信 管 学 院 计 算 机 系 高 级 语 言 程 序 设 计 课 程 组 第 5 章 面 向 对 象 高 级 程 序 设 计 主 要 内 容 5.1 继 承 5.2 多 态 性 5.3 抽 象 类 和 抽 象 方 法 5.4 接 口 5.5 内 部 类 和 匿 名 类 5.1

More information

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访 发 行 公 告 jconnect for JDBC 7.0 文 档 ID:DC74874-01-0700-01 最 后 修 订 日 期 :2010 年 3 月 2 日 主 题 页 码 1. 访 问 最 新 发 行 公 告 信 息 2 2. 产 品 摘 要 2 3. 特 殊 安 装 说 明 2 3.1 查 看 您 的 jconnect 版 本 3 4. 特 殊 升 级 指 导 3 4.1 迁 移 3

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

Microsoft Word - chap10.doc

Microsoft Word - chap10.doc 78 10. Inheritance in C++ 我 們 已 介 紹 了 物 件 導 向 程 式 的 第 一 個 主 要 特 性, 即 程 式 可 模 組 化 成 為 類 別 ( 物 件 ), 類 別 具 有 資 料 封 裝 的 特 性 接 下 來 我 們 要 介 紹 物 件 導 向 程 式 的 另 一 個 主 要 特 性, 那 就 是 類 別 具 有 繼 承 的 功 能 繼 承 就 是 重 複

More information

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温 爱 情 飞 过 苍 凉 / 作 者 :18758265241 1 红 色 格 子 的 旅 行 箱, 在 湿 漉 漉 地 上 发 出 刺 啦 刺 啦 的 声 音, 那 么 刺 耳, 就 像 是 此 刻 杜 晗 的 里 一 样, 烦 躁 而 不 安 就 这 样 走 出 来 了,18 年 禁 锢 自 己 的 地 方 就 在 身 后, 杜 晗 手 指 关 节 泛 白, 紧 紧 地 拉 着 旅 行 箱, 走

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

第7章-并行计算.ppt

第7章-并行计算.ppt EFEP90 10CDMP3 CD t 0 t 0 To pull a bigger wagon, it is easier to add more oxen than to grow a gigantic ox 10t 0 t 0 n p Ts Tp if E(n, p) < 1 p, then T (n) < T (n, p) s p S(n,p) = p : f(x)=sin(cos(x))

More information

060522達文西密碼_全_.PDF

060522達文西密碼_全_.PDF Date: May-22-2006 Page 1 Date: May-22-2006 Page 2 Date: May-22-2006 Page 3 Date: May-22-2006 Page 4 Date: May-22-2006 Page 5 Date: May-22-2006 Page 6 Date: May-22-2006 Page 7 Date: May-22-2006 Page 8 Date:

More information

ebook

ebook 26 JBuilder RMI Java Remote Method Invocation R M I J a v a - - J a v a J a v J a v a J a v a J a v a R M I R M I ( m a r s h a l ) ( u n m a r c h a l ) C a ff e i n e J a v a j a v a 2 i i o p J a v

More information

建模与图形思考

建模与图形思考 F06_c 观摩 :ContentProvider 基於軟硬整合觀點 架构與 DB 引擎移植方法 ( c) By 高煥堂 4 通用性基类 ContentProvider 基於軟硬整合觀點 的使用范例 刚才的范例里, 我们直接使用 DataPersist 类的接口来与 SQLite 沟通 本节将替 DataPersist 配上 ContentProvider 基类, 让 Client 能透过 ContentProvider

More information

CDWA Mapping. 22 Dublin Core Mapping

CDWA Mapping. 22 Dublin Core Mapping (version 0.23) 1 3... 3 3 3 5 7 10 22 CDWA Mapping. 22 Dublin Core Mapping. 24 26 28 30 33 2 3 X version 0.2 ( ) 4 Int VarcharText byte byte byte Id Int 10 Management Main Code Varchar 30 Code Original

More information