第十一天笔记

黑马程序员<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只有输出语句中才调用,其他语句不调用

为什么输出对象,看到类名[email protected]+ 地址,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

时间: 2024-10-06 22:18:29

第十一天笔记的相关文章

Machine Learning第十一周笔记:photo OCR

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完毕了Cousera上Machine Learning的最后一周课程.这周介绍了machine learning的一个应用:photo OCR(optimal character recognition,光学字符识别),以下将笔记整理在以下. Photo OCR Problem Description and Pipeline 最后几小节介绍机器学习的一个应用--photo O

第十天、十一天笔记总结

1:HashSet集合的特点?它是如何保证元素的唯一性的? 元素顺序:元素唯一,但是无序 首先判断哈希值是否相同,如果不同,就直接添加到集合. 如果相同,继续执行equals(),看其返回值, 如果是false,就直接添加到集合. 如果是true,说明元素重复不添加.          2:TreeSet集合的特点?它是如何保证元素唯一和排序的? 元素顺序:使用元素的自然顺序对元素进行排序,或者根据创建 set时提供的 Comparator进行排序(比较器排序),  具体取决于使用的构造方法.

C++ primer 第十一章笔记之 关联容器

按关键字有序保存元素 map 关联数组:保存关键字-值对应 头文件map set 关键字既值,既只保存关键字的容器 头文件set multimap 关键字可重复出现的map 头文件map multiset 关键字可重复出现的set 头文件set 无序集合 unordered_map 用hash函数组织的map 头文件unordered_map unordered_set 用hash函数组织的set 头文件unordered_set unordered_multimap hash组织的map:关键

第十一单元笔记

管理网络 ##1.ip基础知识 1.ipv4 2进制32位-----10进制 172.25.0.10/255.255.255.0 172.25.0.10:ip地址 255.255.255.0:子网掩码 子网掩码255位对应的ip位为网络位 子网掩码0对应的ip位为主机位 ####2.配置ip#### <<图形化>> 1.图形界面 nm-connection-editor  ##输入命令后出现添加IP地址的界面 2.文本化图形 nmtui        ##编辑IP地址的文本界面 f

2015年十一假期笔记(一) LWP学习记

实验目的: 1.获取搜狐网页上图片链接信息 --脚本内容 --Token结构 --结果演示 2.下载网站页面所有图片信息 使用binmode加载句柄,保留二进制信息 --代码: --结果展示 3.获取搜狐网页上的所有可用链接信息 --Token结构信息 --源代码: --结果演示: 4.对每个链接进行访问,获取每个链接页面内的链接信息 --代码: --结果演示:

GeekBand第十一周笔记

本周的主要内容介绍Gradle,NDK,管理依赖和Git等 一.Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置. 面向Java应用为主.当前其支持的语言限于Java.Groovy和Scala,计划未来将支持更多的语言. Coding只是软件开发中的一个部分 编译源代码 运行单元测试和集成测试 执行静态代码分析,生成分析报告 创建分布版本 部

C指针编程之道 ---第十一次笔记

这次来说交换函数的实现: 1. #include <stdio.h> #include <stdlib.h> void swap(int x, int y) { int temp; temp = x; x = y; y = temp; } int main() { int a = 10, b = 20; printf("交换前:\n a = %d, b = %d\n", a, b); swap(a, b); printf("交换后:\n a = %d,

c++ primer 5th 笔记:第十一章

第十一章:关联容器 笔记 1. 关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的.与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的. 2. 关联容器支持高效的关键字查找和访问,两个主要的关联容器类型是map和set.map中的元素是一些关键字-值对:关键字起到索引的作用,值则表示与索引相关联的数据.set中每个元素只包含一个关键字:set支持高效的关键字查询操作--检查一个给定关键字是否在set中. 3. 当从map中提取一个元素时,会得到一个pair

《Hibernate学习笔记十一》:树状结构设计

<Hibernate学习笔记十一>:树状结构设计 这是马士兵老师讲解Hibernate的一个作业题,树状结构设计,这是一个比较典型的例子,因此有必要写篇博文记录下. 树状结构的设计,它是在同一个类中使用了多对一(ManyToOne)和一对多(OneToMany). 在完成这个题目我们应该按照如下的步骤进行: 1.先思考数据库的模型应该是什么样的?? 数据库中的模型应该如下:即存在id p_id 2.思考面向对象的模型,及如何来进行映射??? 根据数据库中表的特点,对象应该有id name;由于