疯狂Java学习笔记(013)
一、Package 包
1.概念
包:对类进行区分,使用命名空间,就是系统上的文件夹。
2.写法:
package 关键字 + 包名(必须出现在源文件的第一条可执行语句上)
3.包名的规范:
公司域名倒写,项目名写最后面。
如:package com.baidu;
4.编译后,应该生成和包结构一致的文件夹结构,生成的.class字节码文件应该放到对应的文件夹中!
5.自动生成包结构:
java -d 路径 源文件 例如:javac -d c:\ PackageDemo.java
使用带包的类:
java -cp 包所在的路径 完整类名 例如:java -cp c:\ com.oldboyedu.PackageDemo
二、四种访问权限
简记:
public | 公共 | 常用 |
protected | 子类访问权限 | 不论子类在不在同包中,都能访问 |
default | 包访问权限 | 在同包中,都能访问 |
private | 类访问权限 | 常用 |
三、import关键字
简化带包类名的书写,使用import导入之后,就不需要再写包名了,直接使用类名即可。
注意:一个源文件中出现同名的类,必须使用完整类名!
import java.sql.Date;
import java.util.Date;
要求:
1.package包定义一个源文件中只能有一个
2.import可以有多个,关键字必须在package之后,在类定义之前。
3.import语句不建议使用 * 通配符
4.import导入语句可以有多个
5.最好每个导入的类都写具体类名
四、类和成员可以使用的权限修饰符的总结,
1.类-------(常用public)
可以用2种访问权限:public、default
另外:final,abstract
2.成员变量-------(常用private)
可以用4种访问权限:public、default、private、protected
另外:final,static
3.构造方法-------(常用public)
可以用4种访问权限:public、default、private、protected
不也用:final,static
4.成员方法-------(常用public)
可以用4种访问权限:public、default、private、protected
另外:final,static,abstract
总结:
- 类两种:终极,抽象可以用!
- 构造方法只四种!
- 成员变量四种:静态,终极可以用!
- 成员方法七种都能用!
4467
五、jar包的制作和使用
1.jar包:类文件的归档和压缩
2.制作jar包:
jar -cvf jar 包路径和包名,需要归宿的包1和包2、.......
例如:jar -cvf c:/myjar.jar cn com
选项说明:
- C:creat,创建jar包
- v:verbose,显示详细信息
- f:file,要创建的jar包的名字
- cn cm,需要归档的类所在的包的路径
六、eclipse的使用
1. view视图
多个视图组合的整体称为透视图,perspective
Java程序常用:包管理透视图:
2.视图板块显示:windows→show view选择想要显示的视图
console:内置的控制台
outline:大纲,显示一个类的结构
3.创建包:
右键src→new package→输入包名
4.创建类:
右键包名→new class→输入类名
同时,可以指定直接父类,实现的接口们,是否自动生成main方法签名
5.点击工具栏上图标c*可以直接创建类的同时创建包,直接指定包名和类名
6.最重要的包在jre中rt.jar包下。
七、elipse的快捷键
1.main方法:alt + /
2.console视图窗口:右键→Run as→Java Application。快捷键:ctrl+'
3.System.out.println():输入sysout,alt+/补全
4.改变代码区和Console的字体:右键→preferences→colors and fonts
5.抽象方法补全:ctrl+1,如果没写方法实现,会在子类下方出现红色警报线,点击即可快速补全
6.int[ ] s ={1,2,3,4},先写左侧,用ctrl+2+L即可补全左侧将方法的返回值赋给一个局部变量。
7.快速删除复制一行:ctrl+d删除光标所在行;ctrl+alt+箭头快速复制光标所在行。
8.移动光标到下一行:shift + enter
9.快速生成for循环语句 for +alt+ /
10.将内容放到System.out.println()中,即选中内容,alt+/,选择最后一项。
11.快速生成一个不存在的方法:int a = getb();出现红线,点击红线处,选择Creat method "getb()"
12.快速生成构造方法,get/set方法。alt+shift+s调出菜单
选择r:即选择了Generate Getterd and Setters...
选择o:即选择了Generate Constructor using Fields...
选择c:即选择了Generate Constructors from Superclass...
13.快速抽取代码成单独的方法!
选择想要抽取成放到的代码,右键→Refactor→Extract Method,在弹出的菜单中补全方法名即可。
14.快速格式化代码:ctrl+shift+f
15.更改快捷键设置:window →preferences→keys
16.取消自动更新:preference→Install/Update,勾掉Automatically find new updates and notify me,防止更新大人
17.源码跟踪:preference→java→Installed JREs
18.显示堆信息:General→show heap status,设置eclipse使用堆大小,安装路径下:eclipse.ini配置文件:
最后两行:初始堆大小-Xms600m;最大堆大小-Xmx1024m
19.调试代码时遇到的方法调用,使用F5键进入方法体内;F6不进入方法体内,将方法调用当成一条语句执行,F7跳过方法的其余语句直接跳出方法
F8直接跳到下一个断点处
20.工程导入:file→import选择解压后的文件夹路径即可自动检测到项目名。
八、String类:
可以使用构造方法和不使用构造方法创建字符串对象!
1.构造方法:
第一,String(Char[ ] ch),使用一个数字字符构造一个字符串
第二,String(Char[ ] ch,int offset,int count),使用一字符数组中的一部分构造一个字符串对象
第三,String(byte[ ] bys):使用要给字节数组,解码成字符串对象
第四,String(byte[ ] bys,int off,int len):使用默认的解码,将字节数组解码成String
第五,String(String original):用一个原始字符串构建一个新字符串,除了本方法,其余四种方法都是先在堆中创建字符串对象,然后把字符串拷贝到常量池一个备份,常量池的作用时复用!
说明:第1-4方法,都是先在堆空间中创建字符串对象,然后再往常量池中保存一个副本,而第五种方式是先在常量池中创建一个字符串对象,然后再使用这个字符串对象作为参数,去堆空间中创建一个新的字符串对象!
2.常量池
它是方法区的一部分。
主要作用,常量的复用,节省创建对象的时间!
由于常量是不可变的量,有很多地方都使用常量值,就没有必要都保存一份,所以在常量池中保存一个常量的副本,当使用之歌常量的时候,就无需再次创建了。
3.字符串的常用方法:
int length( ); 获取字符串中字符的个数
char charAT(int index);
练习题:统计大小写字符个数,如何判断一个字符大小写?
思路:需要获取到一个字符串中 的每个字符,也就是遍历。
遍历就需要使用到字符的索引,而索引的开始值肯定是从0开始的。关键是如何获取字符串中字符的索引的结束值。
length( )方法可以获取一个字符串中所有的字符的个数,通过它就可以获取字符的最大索引值!