第十一天,包 ,protected jar包 eclipse的使用
1. 包(package)
包可以对类文件,进行分层管理
按照每个类完成的功能不同,进行分包管理(类完成数据存储的,存储在一个包中)
好比说,你的机器上,有音乐,电影,游戏,学习资料,分门别类的管理,文件夹
包,对应的就是文件系统的文件夹
给类,提供多层命名空间
八里庄 北京的通州的高碑店 河北省涿州市高碑店
定义包,必须是程序代码的第一行,关键字是package 包名 全部小写
加了包以后,类名就变成了报名.类名
2. 程序中定义了包以后
javac 辅助的参数 -d (目录)你编译后的class文件存储在哪一个目录
3. 包与包之间的类的访问--原始文件.java 和 编译后的class文件分开存储
问题原因,包加上后,类名变化了
PackageDemo.java:11: 错误: 找不到符号
PackageDemoA pa = new PackageDemoA();
^
符号: 类 PackageDemoA
位置: 类 PackageDemo
PackageDemo.java:11: 错误: 找不到符号
PackageDemoA pa = new PackageDemoA();
^
符号: 类 PackageDemoA
位置: 类 PackageDemo
2 个错误
解决办法是,加上包名
=================================================
出错原因是因为PackageDemoA权限不够大,需要提升类的访问权限
PackageDemo.java:11: 错误: PackageDemoA在packa中不是公共的; 无法从外部程序包中对
其进行访问
packa.PackageDemoA pa = new packa.PackageDemoA();
^
PackageDemo.java:11: 错误: PackageDemoA在packa中不是公共的; 无法从外部程序包中对
其进行访问
packa.PackageDemoA pa = new packa.PackageDemoA();
^
2 个错误
解决办法是 类的定义前,加上public
============================================================
出错原因,是方法show的权限不够大
PackageDemo.java:12: 错误: show()在PackageDemoA中不是公共的; 无法从外部程序包中
对其进行访问
pa.show();
^
1 个错误
解决办法,提升方法的访问权限 public
=================================================================
构造方法的权限不够大
PackageDemo.java:11: 错误: PackageDemoA(String)在PackageDemoA中不是公共的; 无法
从外部程序包中对其进行访问
packa.PackageDemoA pa = new packa.PackageDemoA("heheheh");
^
1 个错误
解决办法是加public
4. 包与包之间,类的继承
|-- protected权限
|-- 被这个权限修饰的方法,只能在本类,和子类中使用
public protected default private
同一类 ok ok ok ok
同一包 ok ok ok
子类 ok ok
不同包 ok
5. 不需要报名,简化一点
import 导入 导包 导入的是包中的类
例如
a
AA
AB
a.b
BB
BC
import a.*;
import a.b.*;
在java中,你用已有的类,必须要导报的
System,1.4版本后,会自动导入,java.lang.*;
import java.io.*;
6 jar
java的压缩包
方便携带,方便使用,节省空间
jar包,在程序中,不需要解压缩
jar -cvf -xvf
7. eclipse
为什么要用开发工具
开发效率大幅提提升
人,减轻了工作量
开发中,程序的出错率降低
java开发工具
eclipse
开源的,免费的
扩展性强
java语言就是慢
4.2
Myeclipse
其实是eclipse插件
集成了当今开发中需要的所有的插件
集成JDK,Tomcat工具 SSH
收费 10.7
Borland JBuilder 早期的开发王者
集成JDK,Tomcat,n多Jar文件
写代码的时候,效率超级高,音乐提示
扩展性差
收费,价格跟昂贵 9 X 2005 2006 2007
Sun NetBeans
8 eclipse使用
workspace 工作空间,以后所有的程序,都放在这个目录中
为eclipse安装中文插件,配置文件形式*****
links文件夹,写一个配置文件,path路径配置到插件目录的eclipse父目录
eclipse创建java工程
创建java工程
创建包
创建类
调整字体
eclipse的窗口
包资源浏览器
大纲视图*****
eclipse快捷键
内容辅助快捷键 alt+/
单行注释快捷键 ctrl+/
多行注释快捷键 ctrl+shift+/ ctrl+shift+\
文档注释
复制当前行的快捷键在下方 ctrl+alt + 上 下
移动当前行 alt+上 下
debug断点调试 *****
日后开发必备操作eclipse的能力
当我发现我的程序编译正常,运行也正常
可是结果和我预先想的,就是不一样
debug逐行代码跟踪调试
9 异常:
就是在程序运行中出现的不正常现象
Exception in thread "main" java.lang.ArithmeticException: / by zero‘
java中,面向对象的语言,万物皆对象,异常信息也封装成对象
我们将异常处理代码,和程序正常的流程代码混在了一起
必须将异常处理代码,和程序正常流程代码进行分开
10 异常体系
异常也是一个继承体系,学习顶层类,建立子类对象
Throwable是java中所有异常和错误的最高父类
Error
所有错误的父类,相当于非典,艾滋,癌
Exception
肺炎,感冒,发烧
程序继续运行
Throwable中的三个常见方法,需要异常对象调用
所有的异常对象都能调用吗
String toString();返回此 throwable 的简短描述。
java.lang.ArithmeticException: / by zero
String getMessage();返回此 throwable 的详细消息字符串。
by zero
void printStackTrace();将此 throwable 及其追踪输出至标准错误流。JVM运行的就是他
java.lang.ArithmeticException: / by zero
at cn.itcast.exception.Div.div(ExceptionDemo.java:7)
at cn.itcast.exception.ExceptionDemo.main(ExceptionDemo.java:16)
NullPointerException对象中,自己的方法有几个?
11 第一种处理异常的方式
try...catch(){} 来处理
try{
检测的代码
会出现异常的代码
}catch(异常类 变量){
变量.异常对象中的方法
}
第二种处理异常的方式 ,继续抛出
throw 怎么用 区别0
thorws 怎么用 区别