ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:98KB ,
资源ID:9147106      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-9147106.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(01-java基础加强.doc)为本站会员(gsy285395)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

01-java基础加强.doc

1、一、eclipse 工具的使用1. java 代码的位置1) 选择工作空间 workspace 选择一个文件夹存放程序 (代码) 不要用中文和空格2) 新建一个 java 工程(Project)3) 建包 建类2. 快捷键alt + / : 代码自动补齐,需要配置的打开 preferences(首选项), 搜 keys,打开快捷键配置面板搜 alt+/ ,取消绑定搜 content assist ,取消原先的绑定,配置成 alt+/ctrl+1: 错误自动修复, 注意,放行的红叉是可修复的,圆形的是不可修复的导包的三种方式:1)将类名敲完整,按下 alt+/ 进行补齐,会自动导包2) ctrl

2、+1,修正错误3) ctrl+shift+o 整理包,导入需要的包,去掉多余的导包语句ctrl+shift+f : 代码格式化管理透视图ctrl+2,L 自动声明变量shift+enter 光标直接进入下一行ctrl+alt+方向键(向上向下) 复制行alt+ 方向键(向上向下) 移动当前行3. 断点调试1) 可以对程序进行调试在行的开头双击左键打断点,用 debug 方式来运行程序,程序就会停留在断点位置F5 跳入(step into) 跳入方法内部 F6 跳过, 让当前行运行 F7 跳出 返回上一层程序resume 直接运行到下一个断点 2) 查看源代码建议使用断点调试的方式,注意当前运行

3、环境需要包含源码4. junit 单元测试1) 写一个 java 类, 声明测试方式修饰符为 public void ,在方法前面加注解,(Test) 此方法就可以进行测试了(交给 junit 运行)2) 需要在测试方法前做初始化工作写一个静态方法 public static void init() 在方法前加注解 BeforeClass3) 需要在测试后释放资源写一个静态方法在方法前加注解 AfterClass二、jdk5 新特性java 1995 诞生, 版本: jdk1.0jdk1.1 jdk1.2 jdk1.3 jdk1.4 2005 老虎版 jdk5.0 jdk6 - jdk71.

4、静态导入1) 导入类的静态属性import static java.lang.System.out;out.println(“haha“);2) 导入类的静态方法import static java.lang.Math.*;/ 导入 Math 类的所有静态成员int num = abs(-10);2. 基本数据类型的包装类int Integerbyte Byteshort Shortlong Longchar Characterdouble Doublefloat Floatboolean Boolean1) Integer x = 1; x = x + 1; 经历了什么过程? 装箱 拆箱 装

5、箱2) 为了优化,虚拟机为包装类提供了缓冲池, Integer 池的大小 -128127 一个字节的大小3) String 池Java 为了优化字符串操作 提供了一个缓冲池面试题:String s = “abc” 和 String s = new String(“abc”) 的区别String s = new String(“abc”) 创建了几个对象 String s = “a” + “b” + “c” + “d” 创建了几个对象String s1 = “a” String s2 = “b” String s3 = s1 + s2; s3=”ab”?/*1. String s = “abc“

6、, 虚拟机首先会检查 String 池里有没有“abc“对象( 通过 equals 方法)/ 如果有,直接返回引用,如果没有,会在池里创建一个“abc” 对象,并返回引用String s1 = “abc“;String s2 = “abc“;System.out.println(s1=s2); / result: true*/* 2. String str = new String(“abc“); 不管缓冲池是否有“abc“, 都会在堆内存创建一个“abc“对象,返回引用/ 此时,负责检查并维护缓冲池,其实堆内存的对象是缓冲池中“abc“ 对象的一个拷贝String s1 = new Stri

7、ng(“abc“);String s2 = new String(“abc“);System.out.println(s1=s2); / result: false*/* 3. String s = “a“ + “b“ + “c“ + “d“; java 编译器有个合并已知量的优化功能/ 在编译阶段就把“a“ + “b“ + “c“ + “d“ 合并为 ”abcd“String s = “a“ + “b“ + “c“ + “d“; / String s = “abcd“; System.out.println(s=“abcd“);/ result: true*/* 4. String s1 =

8、 “a“; String s2 = “b“; String s3 = s1 + s2;/ String 是常量,不能相加的,java 如何实现的?StringBuilder sb = new StringBuidler(s1);sb.append(s2);s3 = sb.toString();也就是说实际上 s3 是方法返回的 String 对象凡是方法返回的字符串对象都是在堆内存的*/String s1 = “a“;String s2 = “b“; String s3 = s1 + s2; / 堆内存的对象System.out.println(s3=“ab“);/ result: false

9、3. 增强 for 循环1) 作用:对存储对象的容器进行迭代 2) jdk5 以前怎么迭代3) 增强 for 循环迭代数组String arr = “a“, “b“, “c“; /数组的静态定义方式,只试用于数组首次定义的时候/ 传统方式for(int i=0; iclassruntime2) Class 对象在 java 中用一个 Class 对象来表示一个 java 类的 class 阶段Class 对象封装了一个 java 类中定义的成员变量、成员方法、构造方法、类名、包名等获得 class 对象的三种方式和区别/ 1. 根据给定的类名来获得 用于类加载String classname

10、= “cn.itcast.reflect.Person“; / 来自配置文件Class clazz = Class.forName(classname); / 此对象代表Person.class/ 2. 如果拿到了对象,不知道是什么类型 用于获得对象的类型Object obj = new Person();Class clazz1 = obj.getClass(); / 获得对象具体的类型/ 3. 如果是明确地获得某个类的Class 对象 主要用于传参Class clazz2 = Person.class;/ 在java中所有的类型都会对应一个Class对象 int IntegerClass

11、intClazz = int.class;Class intarrClazz = int.class;Class voidClazz = void.class;3)反射反射就是获得一个 java 类的各个组成部分/ 反射类的成员方法Class clazz = Person.class;Method method = clazz.getMethod(methodName, new ClassparamClazz1, paramClazz2);method.invoke();/ 反射类的构造函数Constructor con = clazz.getConstructor(new Classpara

12、mClazz1, paramClazz2,.)con.newInstance(params.)/ 反射类的属性Field field = clazz.getField(fieldName);field.setAccessible(true);field.setObject(value);4) 反射用在哪里到底框架是什么? 框架就是将开发中大量重复的代码集中起来写个通用的程序框架就是用反射来实现的框架需要现在的类调用将来写的类框架是将来的程序员调用的,框架不能实现完整的功能,框架只是一些一些通用的代码框架要运行一定会依赖将来写的类现在写的类要调用将来写的类,我们先针对接口进行调用,将来的类需要实

13、现接口,那么方法就固定了但是将来写的类的类名我们无法获知,这时就需要调用者通过配置文件告诉框架具体的类名7. 泛型1) 泛型是一种可变化的类型类型不确定,需要调用者来指定2) 用途:一个类的多个成员方法用到的参数类型或返回值类型都是未知的类型,但又需要是同一个类型,就可将方法的参数类型定义为泛型,此泛型必须在类上先予以声明才能在方法中使用一个方法的多个参数和返回值需要是同一个类型,也可以用泛型来解决,在方法返回值前面声明泛型泛型的细节:1) 泛型到底代表什么类型取决于调用者传入的类型,如果没传,默认是 Object 类型2) 使用带泛型的类创建对象时, 等式两边指定的泛型必须一致原因: 编译器

14、检查对象调用方法时只看变量,然而程序运行期间调用方法时就要考虑对象具体类型了3) 等式两边可以在任意一边使用泛型 在另一边不使用 (考虑向后兼容)3. 泛型的基本概念以 List为例: 念着 typeof 例, List 就是 List typeof StringList中的 E 称为类型参数变量 方法定义参数形式参数 List中的 Integer 称为实际类型参数整个 List称为泛型类型 GenericType整个 List称为参数化的泛型类型4. 泛型的使用1)使用带泛型的类时,在创建对象时可以为泛型指定实际类型参数,指定的具体类型相当于给泛型传参2)子类在继承父类的时候,可以为父类定义的泛型指定实际类型参数class Bclass A extends B通过子类 A 获得的父类类型就是一个参数化的类型3)调用方法时传入参数的具体类型将作为方法中泛型的实际类型

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报