带包编译:
在cmd中 javac -d . 文件名.java
运行 java 包名.类名
在java中 导包的关键字:import
我们使用java给我们提供的类时,需要做导包引入操作
但是java.lang包下的类是不需要导包的
java.lang包下的子包和其他包都需要导包操作
导包的过程也是采取就近原则
如果铜包下有与系统相同的包,可以表明地址
java.uitl.scanner sc =new java.uitl.scanner(system.in);
修饰符
代码 修饰范围 翻译 作用域
public: 修饰类, 修饰变量和方法 公共的 任何地方都可以调用
protected: 修饰变量和方法 受保护的 只能自类调用
(default)/package: 修饰类,变量,方法 默认的 只能同包调用
private: 修饰方法和变量 私有的 只能本类调用
内部类
是指在类中再写一个类,包括:成员内部类,局部内部类,静态内部类,**匿名内部类
成员内部类:(相当于成员变量)
特点:
不能被static修饰,其他修饰成员变量的修饰词都可以修饰成员内部类
无限制的访问外部类中的成员,包括静态成员和私有成员
成员内部类中不能定义静态成员
内部类定义一个和外部类一样的变量,访问采用就近原则
如何创建内部类的对象: 外部类名.内部类名 对象名 = new 外部类名().new 内部类名();
如何在内部类中访问外部类中同名的成员 : 外部类名.this.成员
局部内部类:定义在方法内的内部类 (只能在方法中识别)
调用方式 在外部类中完成初始化
class 外部类{ public void 成员方法{ class 内部类{ public void 成员方法}} new 内部类.成员方法}} 1.7之后 想要拿刀外部变量,这个变量需要final的修饰 局部内部类 不能被 public private protected 修饰
静态内部类 : 与成员内部类相似
class 外部类{ static class 内部类{ static 变量; public void 方法名(){ 方法体}}}
匿名内部类:
定义:一个实现了接口或者继承父类的子类对象;
格式:
new 接口/类(){
//实现父类中的方法
}
定义一个接口, 抽象类,普通类
分别写出匿名内部类,并调用里面的方法
使用条件:如果接口或父类内有三个以下的来实现方法需要重写那就应用匿名类 因为书写方便占用空间不大
如果超了三个建议,建一个具体类去继承或实现,在建对象
普通类在使用匿名内部类时,需要自己动手重写方法
适配器(适配器模式)
在接口或者父类中有多个抽象方法时,可以中间创建一个中间类,作为父类,然后让子类继承父类,
在将父类想要的方法进行重写.
先执行静态代码块,因为静态随着类的加载而加载,然后在执行父类在执行子类
public class Demo9 { public static void main(String[] args) { Zi zi = new Zi(); } } //我是父类静态代码块 //我是子类静态代码块 //我是父类构造代码块 //我是父类构造方法 //我是子类构造代码块 //我是子类构造方法 class Fu { static { System.out.println("我是父类静态代码块"); } { System.out.println("我是父类构造代码块"); } public Fu() { System.out.println("我是父类构造方法"); } } class Zi extends Fu { static { System.out.println("我是子类静态代码块"); } { System.out.println("我是子类构造代码块"); } public Zi() { super(); System.out.println("我是子类构造方法"); } }
递归:10+(10-1)+(10-2)+(10-3)…+(10-10)
要求:1递归必须要有出口 如果递归没有出口 那么就会出现死递归
2递归与循环很相似
JunitTest使用
单元 测试: 不需要启动main方法,就可以执行我们的程序
要想使用JunitTest, 我们需要引入第三方的工具类
方式2: 使用eclispe中集成好的junit工具:
右键-> new -> others-> 搜索 junit 找到name 输入Finish ok 产生一个junittest 的java界面 在这个界面不需要main方法进行调试
debug: 代码执行的追踪工具
1.打断点: 从什么位置开始追踪代码, 断点一般放到方法体中
2.使用debug模式启动 程序:
右键-> debug as-> java application
提示,是否切换到debug视图,选择是
3.快捷键
下一步: F6
进入方法: F5
跳出方法: f7
进入下一个断点: F8