java快速教程

上传人:第*** 文档编号:61771799 上传时间:2018-12-12 格式:DOC 页数:25 大小:149KB
返回 下载 相关 举报
java快速教程_第1页
第1页 / 共25页
java快速教程_第2页
第2页 / 共25页
java快速教程_第3页
第3页 / 共25页
java快速教程_第4页
第4页 / 共25页
java快速教程_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《java快速教程》由会员分享,可在线阅读,更多相关《java快速教程(25页珍藏版)》请在金锄头文库上搜索。

1、 Java快速教程Java这门语言其实相当年轻,于1995年才出现,由Sun公司出品。James Gosling领导了的项目小组。该项目的最初只想为家电设计一门容易移植的语言。然而,在获得了Netscape浏览器支持后,Java快速推广,应用广泛。Java受到C和C+的强烈影响。Java与C+相近,都是静态类型,但移除了C+中容易出错的一些特征,比如指针和多重继承。Java的垃圾回收可以自动的管理和清理内存。清理内存工作转交给编译器后,程序员的负担大大减小。Java产出效率高,又有良好的运行效率,在PC端、服务器端和移动端都有不俗的表现。Android更是为Java注入新鲜血液。Java又是一

2、门完全的面向对象语言,所以是了解其他面向对象语言的一个好范本。Java基础在Java基础系列文章中,我将说明Java的基础内容,特别是面向对象的相关概念。Java基础01 从HelloWorld到面向对象Java基础02 方法与数据成员Java基础03 构造器与方法重载Java基础04 封装与接口Java基础05 实施接口Java基础06 组合Java基础07 包Java基础08 继承Java基础09 类数据与类方法Java基础10 接口的继承与抽象类Java基础11 对象引用Java基础12 多态Java进阶在Java进阶中,我对Java基础部分进行补充,并转向应用层面。Java进阶01 S

3、tring类Java进阶02 异常处理Java进阶03 IO基础Java进阶04 RTTIJava进阶05 多线程Java进阶06 容器Java进阶07 嵌套类Java进阶08 GUIJava进阶09 事件响应 Java进阶10 内存管理与垃圾回收Play框架Play是近年兴起的一个灵巧精致的网络框架。它基于JVM,可以用Java或Scala编写。即时热编译的特征,也让该框架适用于敏捷开发。Play可以相当快速的搭建起一个成熟的网站或者App后台。来玩Play框架01 简介来玩Play框架02 响应来玩Play框架03 模板来玩Play框架04 表单来玩Play框架05 数据库来玩Play框架

4、06 用户验证来玩Play框架07 静态文件Android开发安卓已经是市场占有率第一的移动操作系统。随着移动端的繁荣,安卓应用开发越来越受到欢迎。安卓主要的开发语言是Java。你可以利用之前学习的Java知识,再借用Play创建App后台,制作出一款实用的安卓App。Android的历史与花边安卓第一夜 第一个应用安卓第二夜 有趣的架构安卓第三夜 概念漫游(上)安卓第四夜 概念漫游(下)安卓第五夜 维纳斯的诞生安卓第六夜 凡高的自画像安卓第七夜 雅典学院安卓第八夜 玛丽莲梦露安卓第九夜 狂风安卓第十夜 亚当的诞生Java 8简明教程本文由 ImportNew - 黄小非 翻译自 winter

5、be。欢迎加入翻译小组。ImportNew注:有兴趣第一时间学习Java 8的Java开发者,欢迎围观征集参与Java 8原创系列文章作者。以下是Java 8简明教程的正文。“Java并没有没落,人们很快就会发现这一点”欢迎阅读我编写的Java 8介绍。本教程将带领你一步一步地认识这门语言的新特性。通过简单明了的代码示例,你将会学习到如何使用默认接口方法,Lambda表达式,方法引用和重复注解。看完这篇教程后,你还将对最新推出的API有一定的了解,例如:流控制,函数式接口,map扩展和新的时间日期API等等。允许在接口中有默认方法实现Java 8 允许我们使用default关键字,为接口声明添

6、加非抽象的方法实现。这个特性又被称为扩展方法。下面是我们的第一个例子:1234567interface Formula double calculate(int a); default double sqrt(int a) return Math.sqrt(a); 在接口Formula中,除了抽象方法caculate以外,还定义了一个默认方法sqrt。Formula的实现类只需要实现抽象方法caculate就可以了。默认方法sqrt可以直接使用。123456789Formula formula = new Formula() Overridepublic double calculate(in

7、t a) return sqrt(a * 100); ; formula.calculate(100); / 100.0 formula.sqrt(16); / 4.0formula对象以匿名对象的形式实现了Formula接口。代码很啰嗦:用了6行代码才实现了一个简单的计算功能:a*100开平方根。我们在下一节会看到,Java 8 还有一种更加优美的方法,能够实现包含单个函数的对象。Lambda表达式让我们从最简单的例子开始,来学习如何对一个string列表进行排序。我们首先使用Java 8之前的方法来实现:12345678List names = Arrays.asList(peter, a

8、nna, mike, xenia); Collections.sort(names, new Comparator() Overridepublic int compare(String a, String b) return pareTo(a); );静态工具方法Collections.sort接受一个list,和一个Comparator接口作为输入参数,Comparator的实现类可以对输入的list中的元素进行比较。通常情况下,你可以直接用创建匿名Comparator对象,并把它作为参数传递给sort方法。除了创建匿名对象以外,Java 8 还提供了一种更简洁的方式,Lambda表达式。

9、123Collections.sort(names, (String a, String b) - return pareTo(a); );你可以看到,这段代码就比之前的更加简短和易读。但是,它还可以更加简短:1Collections.sort(names, (String a, String b) - pareTo(a);只要一行代码,包含了方法体。你甚至可以连大括号对和return关键字都省略不要。不过这还不是最短的写法:1Collections.sort(names, (a, b) - pareTo(a);Java编译器能够自动识别参数的类型,所以你就可以省略掉类型不写。让我们再深入地研

10、究一下lambda表达式的威力吧。函数式接口Lambda表达式如何匹配Java的类型系统?每一个lambda都能够通过一个特定的接口,与一个给定的类型进行匹配。一个所谓的函数式接口必须要有且仅有一个抽象方法声明。每个与之对应的lambda表达式必须要与抽象方法的声明相匹配。由于默认方法不是抽象的,因此你可以在你的函数式接口里任意添加默认方法。任意只包含一个抽象方法的接口,我们都可以用来做成lambda表达式。为了让你定义的接口满足要求,你应当在接口前加上FunctionalInterface 标注。编译器会注意到这个标注,如果你的接口中定义了第二个抽象方法的话,编译器会抛出异常。举例:1234

11、5678FunctionalInterfaceinterface Converter T convert(F from); Converter converter = (from) - Integer.valueOf(from); Integer converted = converter.convert(123); System.out.println(converted); / 123注意,如果你不写FunctionalInterface 标注,程序也是正确的。方法和构造函数引用上面的代码实例可以通过静态方法引用,使之更加简洁:123Converter converter = Intege

12、r:valueOf; Integer converted = converter.convert(123); System.out.println(converted); / 123Java 8 允许你通过:关键字获取方法或者构造函数的的引用。上面的例子就演示了如何引用一个静态方法。而且,我们还可以对一个对象的方法进行引用:12345678910class Something String startsWith(String s) return String.valueOf(s.charAt(0); Something something = new Something(); Converte

13、r converter = something:startsWith; String converted = converter.convert(Java); System.out.println(converted); / J让我们看看如何使用:关键字引用构造函数。首先我们定义一个示例bean,包含不同的构造方法:1234567891011class Person String firstName; String lastName; Person() Person(String firstName, String lastName) this.firstName = firstName; this.lastName = lastName; 接下来,我们定义一个person工厂接口,用来创建新的person对象:123interface PersonFactory P create(String firstName, String lastName); 然后我们通过构造函数引用来把所有东西拼到一起,而不是像以前一样,通过手动实现一个工厂来这么做。12PersonFactory personFactory = Person:new; Person person = personFactory.create(Peter

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号