java自学之路-day07
JAVA07
Eclipse
Eclipse单词解释
英 [ɪˈklɪps]
美 [ɪˈklɪps]
- n. [天] (日、月) 食; 消失,黯然失色; 漆黑;
- vt. 使黯然失色; 形成日(或月)食
- 自动编译检查
- 不会出现编译失败问题
- 提高效率
- Ps和自带画图工具的区别
- 免费
- 开源
- 扩展性强 可以下载插件
- IBM 公司开发的 4000万美元
- http://www.eclipse.org org代表非盈利性组织 Other organizations 非盈利组织
- 安装目录不要出现中文和空格
- Workspace
- 欢迎界面 ide 集成工具
- 工程 所有源码所在的的文件夹
- New---Project---Java project
- 命名 不要中文 全部小写
- Use default location 使用一个默认的区域
- Jre 选择目前使用1.7
- 建立完毕
- 建立一次后会保留上一次的工程类型
- src java源代码
- 工程文件夹目录
java开发工具概述
安装使用
目录
src 有关 其余无关
bin
.settings
.classpath
.project
HelloWorld
Package 包
Name 类名
Type name is discouraged. By convention, Java type names usually start with an uppercase letter
类名需要大写
勾选main方法
// TODO Auto-generated method stub
需要在这里写程序
写完之后保存后会自动编译 src多了一个.Class文件
运行方法 按钮 和run as java application
配置编译和运营环境
Window----preferences---java----compiler jre
---installed jdk
行号
右键 showlinenumbers
字体
Window----preferences---搜索color and fonts java—javaedit。。。
Window----preferences---搜索color and fonts java—Debug—console。。。
窗口设置
- 包资源浏览器
- 编码区 控制台
- Task List 任务列表
- OutLine 输出大纲 展示类中的结构层次 方便查看定位
- 显示指定视图Window----preferences----show view
- Window----preferences-perspective-reast。。。
取消默认注释
Window----preferences—java-codestyle—codetemlate—methodbody点击进去删除
快捷键
- Alt + / 自动补全 定义变量名 for遍历提示
- Shift+回车 调到下一行
- Ctrl Shift f 代码格式化 和搜狗输入法冲突
- Ctrl + / 取消或者进行单行注释
- Ctrl Shift / 多行注释(需要选中)
- Ctrl Shift \ 取消多行注释(不用选中)
- Ctrl Shift o 导入包
- Alt +上下箭头 移动当前代码(不用选中)
- Ctrl Alt 上下箭头 复制当前代码行
- Ctrl d 删除当前行
- Ctrl 1 意见提示功能
i. 大红叉语法错误手动解决 小红叉一般性错误可以自动解决
- Ctrl 2
- 就是一个标记
- 在代码的有效行可以做一个标记
- 程序运行到标记行就会停止
- 双击左侧栏就可标记
- F5 进入方法主体 F6向下指向一行
断点调试
面向对象
面向过程和面向对象
- 面向对象好处
l 面向过程 我该怎么做 然后一步一步完成 c语言
l 面向对象 我该让谁来做 谁 就是 对象 找不到就创建 java语言
l 你的角色是指挥者 对象是执行者
l 遇到问题找人做而不是自己做
l 把复杂问题简单化
l 时间万物皆对象
- 步骤 定义小汽车
a) 对象定义:属性变量 功能方法
b) 测试类定义:创建对象类对象 调用方法,属性,成员变量
- 对象内存图
main压栈运行
堆内存分配对象空间并赋变量初值
run方法压栈运行
run方法弹栈
main出栈
堆内存对象内存空间成为垃圾等待虚拟机清理
类和对象的关系
类是对事物的抽象描述 玩具模型
对象是具体的一个实物 玩具
一个类对应多个对象
局部变量和成员变量
- 类中方法内 局部变量
- 类中方法外 成员变量 全局变量;
- 成员变量默认值
- 局部变量没有默认值 不赋值不能使用
- 内存位置不同
成员变量跟随对象进入堆内存
局部变量跟方法进栈
对象也是局部变量
- 生命周期不同
成员变量 跟随对象进入堆内存 内存等带JVM清理
局部变量 跟随方法,方法出栈就出栈 生命周期相对较短
方法参数是基本类型和引用类型
基本类型
传递只是一个值不代表变量本身
变量是在所在方法的内存中 main方法 栈内存
传递的参数是在调用方法的内存中 另一片栈内存
引用类型
传递的是一个地址(在堆内存中)可以代表变量本身
三大特征:封装
三大特征:继承
三大特征:多态
- 方法是一个最基本的封装体
类也是一种封装体
- 隐藏实现细节
- 对外提供公共访问方式
- 提高了复用性和安全性
- 举例
机箱
Cpu 电源 硬盘 内存 是访问细节封装在机箱中我们看不见
插口和接口 是公共的访问方式
private关键字
- 只能在本类中使用 提高安全性 比如给年龄赋值 为负数 就不行了
- 对私有变量提供公共访问方式
提供方法让外面的类使用
通过定义Set方法
通过if条件句对传递的参数进行条件判断处理
- Get方法
间接访问元素
- 私有仅仅是封装的一种形式
- 类中的成员变量必须私有化 private
- 带set方法和get方法的类
This关键字
- P指向新建对象的内存空间 p调用speak this代表调用者,也就是p对象引用 也就是this也指向这个地址 所以this表示成员变量
- 区分同名的成员变量和局部变量
- 成员变量 this.
练习 this比较年龄
谁和谁比 自己给别人比
方法返回值 布尔类型
方法参数 别人
this.age=age;
定义两个对象
用p1调用比较方法