11.01 常见开发工具介绍
1:操作系统自带的记事本软件
2:高级记事本软件例:Editplus,Notepad++,UltraEdit
3:集成开发环境 IDE(Integrated Development Environment)
这种软件是用于程序开发环境的应用程序,一般包括代码编辑器,编译器,调试器和图形界面工具。
集成了代码编写功能,分析功能,编译功能,调试功能等一体化的开发软件。具备这一特性的软件都可以叫做IDE。
例:JCreator,JBuilder,NetBeans,JDeveloper,Eclipse,MyEclipse
11.02 Eclipse和MyEclipse的概述
Eclipse是一种可扩展的开放源代码的IDE。
Eclipse的特点:免费、纯Java语言编写、免安装、扩展性强
由于使用Java语言编写,需要为其提供JDK与JRE
MyEclipse:在Eclipse基础上追加的功能性插件,对插件收费,在WEB开发中提供强大的系统架构平台
11.03 Eclipse的下载安装及卸载
下载: http://eclipse.org/
安装:
绿色版 解压就可以使用(Eclipse)
安装版 双击运行,一直next即可(JDK)
卸载:
绿色版 直接删除文件夹即可
安装版专业卸载软件或者控制面板添加删除程序
11.04 Eclipse中如何写一个HelloWorld案例
选择工作空间:工作空间 其实就是我们写的源代码所在的目录
用Eclipse来完成一个HelloWorld案例
代码以项目为基本单位
1.创建项目 2.创建包 3.创建类 4.编写代码
11.05 Eclipse中如何编译和运行程序
编译:自动编译,在保存的那一刻已经编译
运行:
1.点击绿色内三角形按钮run
2.点击Run菜单下的run。也可以使用快捷键Ctrl+F11
3.选择要运行的文件或者在要运行的文件内容中右键→Run as→Java Application即可。看到Console即可,它就是Eclipse自带的控制台
11.06 Eclipse的汉化及语法检查提示
汉化:使用dropins安装插件
从Eclipse3.5开始,安装目录下就多了一个dropins目录,只要将插件解压后放到到该目录即可。
同理,这种方式卸载插件也特别的方便,推荐这种方式
可以同时使用中文版和英文版
源代码语法检查
红色波浪线:错误的源代码
黄色波浪线:未使用的成员或有安全隐患的成员
11.07 Eclipse的视窗和视图概述
视窗:每一个基本的窗体被称为视窗
PackageExplorer:显示项目结构,包,类,及资源
Outline:显示类的结构,方便查找,识别,修改
Console:程序运行的结果在该窗口显示
Problems: 显示所有语法及错误所在的位置
Hierarchy: 显示Java继承层次结构,选中类后按F4键
视图:是由某些视窗的组合而成的
例:Java视图、Debug视图
11.08 Eclipse工作空间的基本配置
1:程序的编译和运行的环境配置(一般不改)
window→Preferences→Java
Compiler:编译环境 默认选中的就是最高版本。
Installed JREs:运行环境默认会找安装的那个JDK。建议配置了Java的环境变量。
编译时使用低版本,运行时使用高版本可以
编译时使用高版本,运行时使用低版本不可以
建议编译和运行的版本一致
2:如何去掉默认注释
window→Preferences→Java→Code Style→Code Templates
选择不想要的内容,通过右边Edit编辑
注意:只删除注释部分,不是注释部分的不要删除。
3:行号的显示和隐藏
显示:在代码区域的最左边的空白区域,右键→Show Line Numbers即可
隐藏:把上面的动作再做一次。
4:字体大小及颜色
a.Java代码区域的字体大小和颜色:window→Preferences→General→Appearance→Colors And Fonts→Java→Java Edit Text Font
b.控制台:window→Preferences→General→Appearance→Colors And Fonts→Debug→Console font
c.其他文件:window→Preferences→General→Appearance→Colors And Fonts→Basic→Text Font
5:窗体弄乱,重置窗体 window→Reset Perspective
6:显示控制台 Window→Show View→Console
11.09 Eclipse中内容辅助键的使用
Alt+/:内容辅助键起提示作用
main+alt+/:显示main方法
syso+alt+/:显示输出语句
给出其他提示
11.10 Eclipse中快捷键的使用
常用快捷键
ctrl+shift+f:格式化
ctrl+shift+o:导入包
注释:
ctrl+/:单行注释
ctrl+shift+/:多行注释
ctrl+shift+\:取消多行注释
选中代码alt+上/下箭头:代码上下移动
选中类名(F3或者Ctrl+鼠标点击):查看源码
11.11 Eclipse中构造方法和get_set方法的自动生成
自动生成构造方法
1.无参构造方法在代码区域右键→source→Generate Constructors from Superclass
2.带参构造方法在代码区域右键→source→Generate Constructors using fields→finish
自动生成get/set方法:在代码区域右键→source→Generate Getters and Setters
11.12 Eclipse中继承抽象类或者实现接口的简化
继承抽象类,或者实现接口
1:以前做法先写类,然后在类中在去继承类或者实现接口
2:现在做法在创建类的时候,选择要继承的类或者实现的接口
Object是所有类的父类,所有类都直接或者间接的继承自Object
Override是一个注解,说明这个方法是重写父类的
11.13 Eclipse中编写一个标准学生类及其测试
11.14 Eclipse中写跳高接口抽象动物类及具体动物子类
11.15 Eclipse中如何生成jar包并导入到新的项目中
jar是多个class文件的压缩包
Jar方便使用别人写好的东西
打jar包:选中项目→右键→Export→Java→Jar file→自己指定一个路径和一个名称→Finish
使用jar包:复制jar包,粘贴到要使用的项目路径下。选中jar包,右键Build path→add to build path
11.16 Eclipse如何制作帮助文档和使用jar包
制作帮助文档:选中项目→右键→Export→Java→Javadoc→Finish
11.17 Eclipse中如何删除项目和导入项目
删除项目:选中项目→右键→Delete 1.从项目区域中删除 2.从硬盘上删除
导入项目:在项目区域右键→import→General展开→Existing Projects into Workspace→next,然后选择要导入的项目。注意:选择的是项目名称
11.18 Eclipse导入项目要注意的小问题
如何查看项目所在路径:选中→右键→ Properties → Resource → Location
导入项目要注意的问题:
1.项目区域中不可能出现同名的项目(新建或者导入)
2.自己随意建立的文件夹是不能作为项目导入的
修改项目问题:
1.不要随意修改项目名称
2.如果真要修改,不要忘记了配置文件.project中的<name>把这里改为你改后的名称</name>
11.19 Eclipse开发中接收项目的注意事项
同一个项目再次接收的时候,先去存放目录把原始项目删除,然后重新存储,最后刷新项目即可
11.20 Eclipse中debug的基本使用
Debug的作用:调试程序、查看程序执行流程
什么是断点:就是一个标记,表示从哪里开始看程序
如何设置断点:在方法的第一条语句的最左边双击即可
在哪里设置断点:在每一个方法的第一条有效语句上加
如何运行设置断点后的程序:在代码区域→右键→ Debug as → Java Appliaction
看哪些地方:
Debug:断点测试的地方按F6键,或者点击也可以。一次看一行的执行过程。
Variables:查看程序的变量变化
ForDemo:被查看的源文件
Console:控制台
如何去除断点:
1.在断点上再次双击即可
2.找到Debug视图,找到Breakpoints点击,然后看到所有的断点,最后点击那个双叉删除所有断点
11.21 Eclipse查看Java中参数传递问题
11.22 API概述
API(Application Programming Interface) 应用程序编程接口
API就是JDK中提供的各种功能的Java类
11.23 学习汉语和编程语言的异同点
相同点:基本语法、大量成语
不同点:学习汉语 必须先学后用、学习编程 可以现用现学
11.24 Object类的概述
Object类概述:
类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
构造方法:public Object(),子类的构造方法默认访问的是父类的无参构造方法
11.25 Object类的hashCode()方法
public int hashCode():返回该对象的哈希码值
hashCode方法会针对不同的对象返回不同的整数,这一般是通过将该对象的内部地址转换成一个整数来实现的
例:
1 Student s1 = new Student();
2 System.out.println(s1.hashCode());//18564463
3 Student s2 = new Student();
4 System.out.println(s2.hashCode());//23821838
5 Student s3 = s1;
6 System.out.println(s3.hashCode());//18564463
11.26 Object类的getClass()方法
public final Class<?> getClass():返回此 Object 的运行时类
例:
1 Student s1 = new Student();
2 Class c = s1.getClass();
3 String name = c.getName();
4 System.out.println(name);//com.test.Student
5 //链式编程
6 String str = s1.getClass().getName();
7 System.out.println(str);//com.test.Student
11.27 Object类的toString()方法
public String toString():返回该对象的字符串表示
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。
换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
例:
1 Student s = new Student();
2 System.out.println(s.getClass().getName());//com.test.Student
3 System.out.println(s.hashCode());//3203443
4 //将一个数转为十六进制
5 System.out.println(Integer.toHexString(s.hashCode()));//30e173
6 System.out.println(s.toString());//com.test.Student@30e173
7 //直接输出对象的名称,默认调用的就是对象的toString()方法
8 System.out.println(s);//com.test.Student@30e173
11.28 Object类的equals()方法
public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”,默认情况下比较的是地址值,但比较地址值意义不大,一般子类应重写此方法
基本类型的==:比较的是值是否相等
引用类型的==:比较的是地址值是否相等
例:
1 Student s1 = new Student("小明",15);
2 Student s2 = new Student("小明",15);
3 Student s3 = s1;
4 System.out.println(s1 == s2);//false
5 System.out.println(s1 == s3);//true
6 System.out.println(s1.equals(s2));//false
7 System.out.println(s1.equals(s3));//true
11.29 Object类的equals()方法代码优化
例:
重写Student类的equals方法
1 Student s1 = new Student("小明",15);
2 Student s2 = new Student("小明",15);
3 Student s3 = s1;
4 System.out.println(s1 == s2);//false
5 System.out.println(s1 == s3);//true
6 System.out.println(s1.equals(s2));//true
7 System.out.println(s1.equals(s3));//true
11.30 Object类的finalize()方法和clone()方法
1.protected void finalize()
throws Throwable:当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
2.protected Object clone()
throws CloneNotSupportedException:创建并返回此对象的一个副本
例:
1 Student s1 = new Student();
2 s1.setName("小明");
3 s1.setAge(25);
4 //克隆学生对象
5 Object obj = s1.clone();
6 Student s2 = (Student)obj;
7 System.out.println(s2.getName()+":"+s2.getAge());//小明:25
被克隆的类必须实现Cloneable接口,Cloneable接口是一个标记接口,以指示 Object.clone()方法可以合法地对该类实例进行按字段复制