黑马程序员<a href="http://www.itheima.com" target="blank">java培训</a> 

                   第十一天笔记

1.java常见的开发工具

  记事本,editplus,notepad

  A. 美国Borland公司 JBuilder C++Builder DelphiBuilder

   扩展性差,错误太多,昂贵

  高度集成,JDK,Tomcat,开发智能性很高

B. 美国Sun公司自己的工具  NetBeans

 免费的,开源,操作赋值,运行速度奇慢

C. IBM 出钱开发工具,eclipse 日蚀

 开源,免费,扩展性很强

D. MyEclipse 在eclipse基础上,增加了很多的插件

     EE ,SSH 全集成  收费   

2.eclipse基本知识与操作

A.创建工程后,工作目录中的结构

 src -- 存储是编写源文件 .java

 bin -- 存储编译后的class文件

B.eclipse中的视图和视窗

        B.1  PackageExplorer :展示出当前的项目中的全部内容包括:包,类,方法,成员

        B.2  Outline 大纲视窗:展示当前类的全部内容,带有相形图标(类的属性) 不需要看类的具体内容,可以看出类中定义的是什么

        B.3  还原初始化视图 -- window  -- reset

        B.4   Eclipse设置

               1) 字体字号 -- Window -- preferences -- gen -- app -- color and fonts – java--java editor – edit

               2) 调整控制台字体 -- Window -- preferences -- gen -- app -- color and fonts--- debug -- console font

               3) 去掉默认的注释-- Window -- preferences -- java -- code style -- code templates—code,选择需要修改的内容,点击edit

               4)去掉鼠标悬停效果 -- Window -- preferences -- java -- editor -- hovers-- 第一项勾去

      C.eclipse快捷键总结

         内容辅助提示:Alt+/

             单行注释:Ctrl +/  再按一次取消注释

             多行注释:选中要注释的代码:ctrl +shift+/  取消:ctrl+shift+\

           移动当前行:alt+上下箭头

          复制当前行在上或者下面:ctrl+alt+上或者下

             自动导包:ctrl+shift+o

           代码格式化:ctrl+shift+f

            意见与建议:ctrl+1 处理红色小叉子问题

     D.代码自动生成

         D.1生成 get,set 自己定义变量成员:

               代码空白处,鼠标右键---source—generate gettter or setter

         D.2生成构造方法:

   代码空白处,鼠标右键---source----- generate constructor

     E.导入工程

        已经存在的工程,从硬盘中,导入到eclispe中

        在包资源浏览器中,鼠标右键,import -- general -- into workspace      

     F.Eclipse 调试功能,断点调试

         当你的程序,没有任何错误,运行正常,但是结果和你设想的不同,或者运行但是没有结果,建议采用调试功能

  debug模式:让你程序逐步执行,看到每一步执行的结果是什么,看到变量的变化情况

步骤:在有效代码中,左侧行号上,进行双击,行号多出一个蓝色点,这就是断点,当程序运行到这一行的时候,自动停止不动

  F5单步进入  F6单步执行

  F5可以进去方法,  F6 直接走过这行代码

 

3. Jar包

    JAVA的一种压缩包,多个类文件class,合并成一个压缩文件, 方便携带,和使用,可以直接使用里面的类的功能。以后,数据库驱动程序 XXX.jar文件,Struts Spring Hibernate 全部是jar文件提供

Object类

JAVA中所有的类,都直接或者间接继承Object类

class Person{}

  Person类中,有几个方法 12个,父类Object,继承11个,自己有构造

   Object类中,有构造方法,空参数,最大权限,第一行没有super()

   private static native void registerNatives();

   static{

         registerNatives();}

native 关键字,修饰符,本地的意思

  被native修饰的方法,非JAVA代码编写的方法,C++写的,作用,调用本机操作系统中的功能,没有方法体,保密,本地方法,运行内存本地方法栈

4.public int hashCode() 返回该对象的哈希码值

  A.哈希码:JVM根据自己底层的一个计算方法(哈希算法),计算出的一个十进制数

   这个数目前可以理解为对象的内存的地址

   hashCode方法,所有的子类都具备

 B. public final Class getClass() 返回值是一个类类型变量

  Class类 返回的是这个类Class类的对象

  类是描述对象,Class描述编译后的class文件的对象

 C.public String toString() 返回该对象的字符串表现形式

  所有的子类都有这个方法

  在输出语句中,会默认调用对象的toString方法

  默认调用toString只有输出语句中才调用,其他语句不调用

  为什么输出对象,看到类名+@+ 地址,Object类中toString方法的源代码  D.public String toString(){

    return   getClass().getName()+"@"+Integer.toHexString(hashCode());  }

 E. getClass().getName() 第一个方法返回运行时类的class文件对象,对象调用方法getName获取类名

 F.Integer.toHexString() 将方法中的参数,转成十六进制

    hashCode() 简单的十进制数

G.目的,重写toString() 返回成员变量值,不考虑静态的成员变量,非静态

    假如,类中,没有成员变量,不重写了

H.单独操作一个变量,赋值,取值也好,依靠get set

   重写的toString() 将值做了输出,其他什么也没干

I. sop语句中,凡是打印对象的时候,看到的不是地址,类继承Object,重写toString方法

J. public boolean equals(Object obj) 用来比较对象,对象之间进行比较的

   JAVA的工程师认为,所有的对象,都具备比较性

K.方法源代码  return this == obj ;

    this是本类对象引用 obj方法参数,接收进来的对象

    两个对象 == 比较的时候,比较的是内存的真是地址

一般对象都是new出来的所有,比较对象,结果一般都是假

L.重写equals方法,建立对象自己的比较方式,比较对象中的成员变量的值

M.  protected void finalize() 当一个对象,在堆内存中,变成垃圾后

   JVM启动垃圾回收期,收取这个对象,收取的时候,调用对象的、finalize方法

  finalize final  finally

    

  

posted on 2015-04-15 22:53  星之钥匙  阅读(105)  评论(0编辑  收藏  举报