Day11 --Eclipse工具 Object对象
来源:互联网 发布:国外免费代理软件 编辑:程序博客网 时间:2024/06/05 16:28
a.
Eclipse工具
请参考:G:\CSDN_Android_\JAVA\双元课堂\video\双元视频\day11 Eclipse工具 Object对象\day11\day11_source 中的eclipse介绍。
小知识:网站后缀名的概念: .com 商业盈利团体 .org 非商业盈利团体 .cn 表示中国 .edu教育
Eclipse中如何生成jar包并导入到项目中
什么是Jar
jar是多个.class字节码文件所组成的压缩包。
Jar的作用
使用别人已经写好的.class文件。
如何使用
步骤:
1) 将一个项目打包成jar文件,
* 打包过程:右键需要打成jar包的项目,点击explorer(导出),然后选择Java下的jar file,设置到处位置,然后一路next即可。
2) 再新项目中生成一个 libs 的文件夹,然后将该jar放入该文件夹中,并且要Build Path一下,因为jar中都是.class文件,如果不Build Path一下,这些.class文件就不能加载到新项目的路径中。所以必须复制后Build Path一下才能使用。
Eclipse中如何删除项目和导入项目
删除项目
一是在项目区域中不出现了和二是在整个硬盘中不出现了,二者的区别就在于是否在确认删除前勾选 Delete project contents on disk(cannot to undone) 删除磁盘上的项目内容(不能取消)。 如果勾选了就从硬盘上直接删除了(不走回收站),如果不勾选只是在该项目区域中删除了,在该eclipse的工作空间下还存在。
导入项目
如果想在这个项目区域中还继续使用已经删除的项目(不是真正意义上的删除项目)的话,在eclipse的 PackageExplorer(包资源管理器视窗,即项目结构) 空白处右键,选择import(导入) > General下的Existing Projects into Workspace(现有项目到工作空间) > Browse(浏览)找到项目的位置 > 最后Finsh
Eclipse中的快捷键
alt + ↓ 或 ↑ 向下或向上移动某一行代码
ctrl +alt + ↓ 或 ↑ 向下或向上复制某一行代码
Eclipse中断点调试的基本使用
Debug作用
* 用于调试程序。
* 查看程序执行流程。
如何查看执行流程:
什么是断点:
就是一个标记,用于标记从代码的哪一行开始。
如何设置断点:
你想看哪个程序的代码,就在哪一行的代码最前(显示行数的位置)上双击两下,就会在行号的前面出现绿色 点点。
在哪里设置断点:
你需要看哪一行的代码,就从哪开始。 具体在方法有效的第一行语句上开始,包括第一行。
如何运行设置断点后的程序:
右键 > Debug as > Java Application 出现一个对话框后直接Yes,就能跳转到Debug视窗了。
看哪些地方:
* Debug:断点测试的地方
* 在这个地方,需要一些快捷键:
* F6,下一步,或者点击也可以。一次看一行的执行过程。
* F5,返回方法。
* 如果想看某个方法中的具体步骤,那么就在这个方法的第一行有效语句上点上断点。当主方法运行到该方法时,如 Change(arr);,还直接F6的话,就跳入了该方法的第一行有效语句,接着F6看这个方法的运行效果,如果当该方法执行完后,进行F6就自动跳出该方法,返回到了主方法的这个change(arr)的下一行,继续F6看下面程序的结果,一直循环下去。
* Variables:查看程序的变量变化
* ForDemo:被查看的源文件
* Console:控制台
b.
API
概述:
API是(Application Programming Interface)即:应用程序编程接口 的缩写。
Java API
* 就是java提供给我们使用的类,这些类将底层的实现过程封装起来,不需要我们关系这些类的具体实现不止,只需要知道用的时候该去哪里查找即可。
* 文档说明书就是存放API的工具,如:JDK_API_1_6_CN.CHM,API是具体的类,如String,Object等。
c.
Object对象
概述
* 所有类都直接或间接的继承这个类。
* 类层次结构的根类。
构造方法
public Object(){}
这就是为什么说:子类中的构造方法默认访问的是父类中的无参构造,因为该Object是所有类的父类即超类。
Object类的hashCode()方法
作用
* 返回该对象的哈希值,返回的是一个int类型的值。
意义
* public int hashCode(){}
* 返回该对象的哈希码值,用int来接收,默认情况下,该方法会根据对象的地址来计算的,
* 不同对象(即new出来)的,hashCode()一般都不同,可以也会相同,但是用int来接收的话,该值一旦超过了int的取值范围,那么就会返回一个相同的值。
但是同一个对象的 hashCode()肯定相同,即同一对象,哈希值相同。
Student st1 = new Student("hhaa",3);
Student st2 = new Student("ha",4);
s1.hashCode()和s2.hashCode() 哈希值不同,因为new出来了2个对象,且地址值不同。因为哈希值是根据对象的地址值来计算的。
Object类的getClass()方法
作用
* 用于返回此对象Object的运行时类,即返回Class类,即字节码文件。可以通过该Class能够拿到里面具体的属性和方法,如:name,age属性, 普通方法等。
意义
* 在反射中掌握使用
* public final Class getClass(){}
* 可以通过Class类中的一个方法,获取到对象真实类的全名称。
* public String getName();
例子:
Student st = new Student("xixi", 2);
Class clazz1 = st.getClass(); // 获取该对象的字节码文件
String name = clazz1.getName(); // 以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
System.out.println(name); // com.zj.day11.two.bean.Student 返回的是该类的全名称。
Class类中的getName()方法
* 以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
Object类的toString()方法
作用
* 返回该对象的字符串表示
* toString() 可以更方便的显示属性值
* getXXX() 为了获取值,可以显示也可以赋值,或做其他操作
意义
* public String toString(){}
* 他的值等于:
* getClass().getName() + '@' + Integer.toHexString(hashCode())
* 由于默认情况下的Object的toString()方法数据没有意义,所以一般建议我们在具体的类中重写该方法。
* 建议每次写完JavaBean对象后,自动生成一个toString方法
Object类的equals()方法
作用
* 指示某个对象是否与此对象 “相等”
意义
* 默认情况下比较的是两个对象的引用(地址值)是否相等
* 由于比较对象的引用(地址值)没有意义,所以一般重写该方法
equals
a.Object类中的equal()比较对象的地址值,没意义。【Object中equals的底层是“==”来做比较,所以 用== 还是 equals 来比较对象的地址值,都是无意义的。】
b.在开发中我们比较的往往是【对象的属性(name,age...)】,判断是否相等,这时我们需要重写equals方法。
c.比较的是引用数据类型,用equals, 当比较的是基本数据类型时,只能用 == 。
例子:
前提:Student类中重写了equals方法。
即:
public boolean equals(Object obj) { // 相当于:s1.equals(s2);
Student s = (Student)obj;
return this.name.equals(s.name) && this.age == s.age ; //引用数据类型name用equals来比较, 基本数据类型age用 == 来比较。
main方法中:
Student str1 = new Student("hh",4);
Student str2 = new Student("hh",4);
System.out.println(str1.equals(str2)); //false 因为底层采用的是 == 来作比较的。不重写该方法是没有意义的,因为比较的是地址值。
System.out.println(str1 == str2); // == 比较的是对象中的属性值,
面试题:
== 和 equals的区别:
共同:
* 都是用来做比较的,且返回的都是Boolean类型。
异同:
* == 是比较运算符,既可以比较基本数据类型,也可以比较引用数据类型,当比较基本数据类型时比较的是值,当比较引用数据类型时,比较的是地址值。
* equals()方法是Object类中的其中一个方法,只能用于比较引用数据类型,所有的类都直接或间接的继承Object类,且都能使用Object类中方法,如果具体类没有重新Object类中的equals方法, 比较就没有意义,即equals 和 == 比较的引用数据类型无区别,重写后的equals方法比较的是对象中的属性值,补充一点,equals方法底层使用的是 == 来做比较的。
Eclipse工具
请参考:G:\CSDN_Android_\JAVA\双元课堂\video\双元视频\day11 Eclipse工具 Object对象\day11\day11_source 中的eclipse介绍。
小知识:网站后缀名的概念: .com 商业盈利团体 .org 非商业盈利团体 .cn 表示中国 .edu教育
Eclipse中如何生成jar包并导入到项目中
什么是Jar
jar是多个.class字节码文件所组成的压缩包。
Jar的作用
使用别人已经写好的.class文件。
如何使用
步骤:
1) 将一个项目打包成jar文件,
* 打包过程:右键需要打成jar包的项目,点击explorer(导出),然后选择Java下的jar file,设置到处位置,然后一路next即可。
2) 再新项目中生成一个 libs 的文件夹,然后将该jar放入该文件夹中,并且要Build Path一下,因为jar中都是.class文件,如果不Build Path一下,这些.class文件就不能加载到新项目的路径中。所以必须复制后Build Path一下才能使用。
Eclipse中如何删除项目和导入项目
删除项目
一是在项目区域中不出现了和二是在整个硬盘中不出现了,二者的区别就在于是否在确认删除前勾选 Delete project contents on disk(cannot to undone) 删除磁盘上的项目内容(不能取消)。 如果勾选了就从硬盘上直接删除了(不走回收站),如果不勾选只是在该项目区域中删除了,在该eclipse的工作空间下还存在。
导入项目
如果想在这个项目区域中还继续使用已经删除的项目(不是真正意义上的删除项目)的话,在eclipse的 PackageExplorer(包资源管理器视窗,即项目结构) 空白处右键,选择import(导入) > General下的Existing Projects into Workspace(现有项目到工作空间) > Browse(浏览)找到项目的位置 > 最后Finsh
Eclipse中的快捷键
alt + ↓ 或 ↑ 向下或向上移动某一行代码
ctrl +alt + ↓ 或 ↑ 向下或向上复制某一行代码
Eclipse中断点调试的基本使用
Debug作用
* 用于调试程序。
* 查看程序执行流程。
如何查看执行流程:
什么是断点:
就是一个标记,用于标记从代码的哪一行开始。
如何设置断点:
你想看哪个程序的代码,就在哪一行的代码最前(显示行数的位置)上双击两下,就会在行号的前面出现绿色 点点。
在哪里设置断点:
你需要看哪一行的代码,就从哪开始。 具体在方法有效的第一行语句上开始,包括第一行。
如何运行设置断点后的程序:
右键 > Debug as > Java Application 出现一个对话框后直接Yes,就能跳转到Debug视窗了。
看哪些地方:
* Debug:断点测试的地方
* 在这个地方,需要一些快捷键:
* F6,下一步,或者点击也可以。一次看一行的执行过程。
* F5,返回方法。
* 如果想看某个方法中的具体步骤,那么就在这个方法的第一行有效语句上点上断点。当主方法运行到该方法时,如 Change(arr);,还直接F6的话,就跳入了该方法的第一行有效语句,接着F6看这个方法的运行效果,如果当该方法执行完后,进行F6就自动跳出该方法,返回到了主方法的这个change(arr)的下一行,继续F6看下面程序的结果,一直循环下去。
* Variables:查看程序的变量变化
* ForDemo:被查看的源文件
* Console:控制台
b.
API
概述:
API是(Application Programming Interface)即:应用程序编程接口 的缩写。
Java API
* 就是java提供给我们使用的类,这些类将底层的实现过程封装起来,不需要我们关系这些类的具体实现不止,只需要知道用的时候该去哪里查找即可。
* 文档说明书就是存放API的工具,如:JDK_API_1_6_CN.CHM,API是具体的类,如String,Object等。
c.
Object对象
概述
* 所有类都直接或间接的继承这个类。
* 类层次结构的根类。
构造方法
public Object(){}
这就是为什么说:子类中的构造方法默认访问的是父类中的无参构造,因为该Object是所有类的父类即超类。
Object类的hashCode()方法
作用
* 返回该对象的哈希值,返回的是一个int类型的值。
意义
* public int hashCode(){}
* 返回该对象的哈希码值,用int来接收,默认情况下,该方法会根据对象的地址来计算的,
* 不同对象(即new出来)的,hashCode()一般都不同,可以也会相同,但是用int来接收的话,该值一旦超过了int的取值范围,那么就会返回一个相同的值。
但是同一个对象的 hashCode()肯定相同,即同一对象,哈希值相同。
Student st1 = new Student("hhaa",3);
Student st2 = new Student("ha",4);
s1.hashCode()和s2.hashCode() 哈希值不同,因为new出来了2个对象,且地址值不同。因为哈希值是根据对象的地址值来计算的。
Object类的getClass()方法
作用
* 用于返回此对象Object的运行时类,即返回Class类,即字节码文件。可以通过该Class能够拿到里面具体的属性和方法,如:name,age属性, 普通方法等。
意义
* 在反射中掌握使用
* public final Class getClass(){}
* 可以通过Class类中的一个方法,获取到对象真实类的全名称。
* public String getName();
例子:
Student st = new Student("xixi", 2);
Class clazz1 = st.getClass(); // 获取该对象的字节码文件
String name = clazz1.getName(); // 以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
System.out.println(name); // com.zj.day11.two.bean.Student 返回的是该类的全名称。
Class类中的getName()方法
* 以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
Object类的toString()方法
作用
* 返回该对象的字符串表示
* toString() 可以更方便的显示属性值
* getXXX() 为了获取值,可以显示也可以赋值,或做其他操作
意义
* public String toString(){}
* 他的值等于:
* getClass().getName() + '@' + Integer.toHexString(hashCode())
* 由于默认情况下的Object的toString()方法数据没有意义,所以一般建议我们在具体的类中重写该方法。
* 建议每次写完JavaBean对象后,自动生成一个toString方法
Object类的equals()方法
作用
* 指示某个对象是否与此对象 “相等”
意义
* 默认情况下比较的是两个对象的引用(地址值)是否相等
* 由于比较对象的引用(地址值)没有意义,所以一般重写该方法
equals
a.Object类中的equal()比较对象的地址值,没意义。【Object中equals的底层是“==”来做比较,所以 用== 还是 equals 来比较对象的地址值,都是无意义的。】
b.在开发中我们比较的往往是【对象的属性(name,age...)】,判断是否相等,这时我们需要重写equals方法。
c.比较的是引用数据类型,用equals, 当比较的是基本数据类型时,只能用 == 。
例子:
前提:Student类中重写了equals方法。
即:
public boolean equals(Object obj) { // 相当于:s1.equals(s2);
Student s = (Student)obj;
return this.name.equals(s.name) && this.age == s.age ; //引用数据类型name用equals来比较, 基本数据类型age用 == 来比较。
main方法中:
Student str1 = new Student("hh",4);
Student str2 = new Student("hh",4);
System.out.println(str1.equals(str2)); //false 因为底层采用的是 == 来作比较的。不重写该方法是没有意义的,因为比较的是地址值。
System.out.println(str1 == str2); // == 比较的是对象中的属性值,
面试题:
== 和 equals的区别:
共同:
* 都是用来做比较的,且返回的都是Boolean类型。
异同:
* == 是比较运算符,既可以比较基本数据类型,也可以比较引用数据类型,当比较基本数据类型时比较的是值,当比较引用数据类型时,比较的是地址值。
* equals()方法是Object类中的其中一个方法,只能用于比较引用数据类型,所有的类都直接或间接的继承Object类,且都能使用Object类中方法,如果具体类没有重新Object类中的equals方法, 比较就没有意义,即equals 和 == 比较的引用数据类型无区别,重写后的equals方法比较的是对象中的属性值,补充一点,equals方法底层使用的是 == 来做比较的。
阅读全文
0 0
- Day11 --Eclipse工具 Object对象
- day11<Java开发工具&常见对象>
- 面向对象(Object类方法重写)day11
- day11(eclispe,Debug,Object)
- JAVASE基础-day11(开发工具&常见对象)
- DAY11------面向对象 小结
- Java开发工具使用及其快捷键和常见对象+JAVA学习笔记-DAY11
- 包,eclipse,异常(day11)
- java笔记--day11--类object之toString()
- java笔记--day11--类object之equals()
- eclipse工具及Object类、Scanner类
- java HashMap 转Object对象 工具类
- Object对象转map工具类
- day11
- DAY11
- day11
- day11
- day11
- 密码学原理_Crypto++实现RSA加密
- [LUOGU] P1339 [USACO09OCT]热浪Heat Wave
- mui框架通讯录检索
- 数据结构实验之查找六:顺序查找
- 源码解析 ThreadPoolExecutor JAVA1.8
- Day11 --Eclipse工具 Object对象
- 基于C#实现SQLServer班级管理系统
- 策略模式(java)
- Day12 --Scanner键盘录入对象 和 String字符串对象
- 一步步深入了解View
- 关于mac上eclipse的偏好设置中没有runtime environment
- 迷宫
- Day13 --StringBuffer 字符串反转 冒泡排序二分查找 Arrays类 Integer类 JDK5新特性自动拆装箱
- 微信小程序滚动Tab选项卡:左右可滑动切换