No_16_0303 Java基础学习第十一天
| 文档版本 | 开发工具 | 测试平台 | 工程名字 | 日期 | 作者 | 备注 |
|---|---|---|---|---|---|---|
| V1.0 | 2016.03.03 | lutianfei | none |
Eclipse的概述
MyEclipse概述
Eclipse的基本使用
HelloWorld案例
源代码语法检查
大纲视窗的使用
基本环境设置
字体颜色和大小
窗口还原
控制台还原
常用快捷键
提高开发效率的快捷键
生成jar包并使用jar包
Eclipse中如何制作帮助文档
删除项目和导入项目
修改项目名称
高级(Debug)调试
Object类
Object类的成员方法
Eclipse的概述
- Eclipse是一种可扩展的开放源代码的IDE。
- Eclipse的特点描述
- 免费
- 纯Java语言编写
- 免安装
- 扩展性强
MyEclipse概述
- 在Eclipse基础上追加的功能性插件,对插件收费
- 在WEB开发中提供强大的系统架构平台
Eclipse的基本使用
HelloWorld案例
1、File-> New ->Project 选
Java Project
![]()
2、 命名工程后选择
Finish
![]()
3、 新建一个包
![]()
4、新建一个类
![]()
5、 编译
- 自动编译,在保存的那一刻帮你做好了
6、运行
- 点击虫子后面的绿色内在三角形按钮
- 点击Run菜单下的run。也可以使用快捷键Ctrl+F11
- 选择要运行的文件或者在要运行的文件内容中
- 一般情况下:右键 – Run as - Java Application即可
- 看到Console即可,它就是Eclipse自带的控制台
源代码语法检查
- 红色波浪线 :错误的源代码
- 黄色波浪线 :未使用的成员或有安全隐患的成员
大纲视窗的使用
根据大纲视窗中的不同图标,判断不同的变量状态。
![]()
选中某个类后按
F4可以看到=该类的继承状态。
![]()
基本环境设置
字体颜色和大小
- 代码区:
window->Preferences->General->Appearance->Colors And Fonts->Java Edit Text Font 控制台:
Debug->Console font其他文件
Basic->Text Font
窗口还原
window ->Perspective-> Reset Perspective
控制台还原
Window–Show View—Console
常用快捷键
内容辅助键
- Alt+/ 起提示作用
- main+alt+/,syso+alt+/,给出其他提示
格式化
ctrl+shift+f- 导入包
ctrl+shift+o - 单行注释
ctrl+/ - 多行注释:
ctrl+shift+/ - 多行去注释:
ctrl+shift+\ - 代码上下移动 选中代码
alt+上/下箭头 - 查看源码 选中类名(
F3或者Ctrl+鼠标点击)
提高开发效率的快捷键
- 自动生成构造方法
- 无参构造方法 :
Alt+Shift+s+c - 带参构造方法 :
Alt+Shift+s+o
- 无参构造方法 :
自动生成get/set方法 :
Alt+Shift+s+r继承抽象类,或者实现接口
- 如下设置可将重写方法模板直接给出
![]()
- 如下设置可将重写方法模板直接给出
package cn.itcast_03;public class Cat extends Animal {@Overridepublic void eat() {// TODO Auto-generated method stubSystem.out.println("Hello Cat");}}
- 注:这里
@Overide是注解的意思,即这个方法是重写父类的,如果和父类名字不一致就会报错。
生成jar包并使用jar包
- jar是什么?
- jar是多个class文件的压缩包。
- jar有什么用?
- 用别人写好的东西
- 打jar包
- 选中
项目–右键–Export–Java–Jar–自己指定一个路径和一个名称–Finish- step1:
![]()
- step2:
![]()
- step3:
![]()
- step1:
- 选中
- 使用jar包
- 复制到项目路径下并添加至构建路径。
- step1:
![]()
- step2:
![]()
- step1:
- 复制到项目路径下并添加至构建路径。
Eclipse中如何制作帮助文档
- 选中项目–右键–Export–Java–Javadoc—Finish
删除项目和导入项目
- 删除项目
- 选中项目 – 右键 – 删除
- 从项目区域中删除
- 从硬盘上删除
- 选中项目 – 右键 – 删除
- 导入项目
- 在项目区域右键找到import
- 找到General,展开,并找到
- Existing Projects into Workspace
- 点击next,然后选择你要导入的项目
- 注意:这里选择的是项目名称
修改项目名称
- 除了项目文件夹名字要修改,不要忘记了配置文件.project中的
高级(Debug)调试
单步调试:
F6
![]()
断点查看基本数据类型和引用数据类型的参数传递问题
Object类
Object类的成员方法
public int hashCode()
- A:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
- B:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
- C:不是对象的实际地址值,可以理解为逻辑地址值
public final Class getClass()
返回此 Object 的运行时类- A:返回此 Object 的运行时类。
B:可以通过Class类中的一个方法,获取对象的真实类的全名称。
- eg:
Student s = new Student();Class c = s.getClass();String str = c.getName();System.out.println(str); // cn.itcast_01.Student//链式编程String str2 = s.getClass().getName();System.out.println(str2);
- eg:
public String toString(): 返回该对象的字符串表示,默认是全路径+
@+哈希值的十六进制表示。- 其返回值等价于:getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
toHexString是Integer类下的一个静态方法:把一个整数转成一个十六进制表示的字符串
eg:
//两行代码结果一致System.out.println(s.getClass().getName() + '@'+ Integer.toHexString(s.hashCode()));System.out.println(s.toString());
注:直接输出一个对象的名称,其实就是调用该对象的toString方法。
- 其返回值等价于:getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
public boolean equals (Object obj) : 指示其他某个对象是否与此对象“相等”。
- 默认情况下比较的是地址值。
protected void finalize(): 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。用于垃圾回收,但是什么时候回收不确定。
protected Object clone():创建并返回此对象的一个副本
Cloneable:此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。这个接口是标记接口,告诉我们实现该接口的类就可以实现对象的复制了。
public class Student implements Cloneable {private String name;private int age;public Student() {super();}public class StudentDemo {public static void main(String[] args) throws CloneNotSupportedException {//创建学生对象Student s = new Student();s.setName("林青霞");s.setAge(27);//克隆学生对象Object obj = s.clone();Student s2 = (Student)obj;System.out.println("---------");System.out.println(s.getName()+"---"+s.getAge());System.out.println(s2.getName()+"---"+s2.getAge());//以前的做法Student s3 = s;System.out.println(s3.getName()+"---"+s3.getAge());System.out.println("---------");//其实是有区别的s3.setName("刘意");s3.setAge(30);System.out.println(s.getName()+"---"+s.getAge());System.out.println(s2.getName()+"---"+s2.getAge());System.out.println(s3.getName()+"---"+s3.getAge());}}
toString方法的重写
- 右键->Source -> Generate toString()…
- 快捷键:
Alt+Shift+s+s
equals方法的重写:- 方式一:手动重写(如下)
- 方式二:自动生成:
- 右键->Source -> Generate hashCode and equals()…
- 快捷键:
Alt+Shift+s+h
Eg: 重写equals方法:
@Overridepublic boolean equals(Object obj) {//name是String类型的,而String是引用类型的,所以,在这里不能直接用==比较,应该用equals()比较//String的equals()方法是重写自Object类的,比较的是字符串的内容是否相同//this -- s1//obj -- s2//我们要使用的是学生类的特有成员变量,所以要向下转型Student s = (Student)obj; //s -- obj -- s2;if(!(obj instanceof Student)){return false;}//如果是就继续Student s = (Student)obj;//System.out.println("同一个对象,还需要向下转型并比较吗?");return this.name.equals(s.name) && this.age == s.age;}
==的用法:- 基本类型:比较的就是值是否相同
- 引用类型:比较的就是地址值是否相同
equals只能比较引用类型,默认情况下比较的是地址值是否相同,但可以根据需求重写该方法。instanceof: 判断对象名是否是该类名的一个对象- 格式:
对象名instanceof类名
- 格式:














浙公网安备 33010602011771号