idea简单调试
1.行断点
是一个小红原点
然后,在main方法中点击调试,程序运行时会在该点停顿,点击
恢复程序就会继续运行
2.详细断点 | 源断点
shift+左键唤出断点
是一个小黄圆点,并且有一些信息
若点击挂起再点完成,将会变为小红圆点
点击调试,控制台给出断点位置
3.方法断点
是一个小方块,会在方法的第一行停顿
不知道接口的方法对应的是哪个实现类时,可以在接口的类声明处加断点运行
4.异常断点
调用调试面板的快捷键
shift+ctrl+F8
可以添加异常断点
不用加断点,直接调试,会显示出异常断点的位置,一定要记得添加异常断点才能显示
5.字段断点 | 读写监控
会跟踪你加断点的字段的值变化轨迹
public class Test {
//行断点
public static void line(){
System.out.println("this is the line break point");
}
//详细断点(源断点)
public static void detailLine(){
System.out.println("this is the detail line break point");
}
//方法断点 | 接口跳转实现类
public static void method(){//方法的签名
System.out.println("this is from method");
IService iservice=new IServiceImpl();
iservice.execute();
}
//异常断点 | 全局捕获
//调用调试面板
//shift+ctrl+F8
//添加异常断点
public static void exeception(){
Object o=null;
o.toString();
System.out.println("this line will never be print!");
}
//字段断点 | 读写监控
public static void field(){
Person p=new Person("field",10);
p.setAge(12);
System.out.println(p);
}
public static void main(String[] args) {
//line();
//detailLine();
//method();
//exeception();
//field();
}
}
接口
```plaintext
package com.dao;
//这是一个接口
public interface IService {
//里面只写抽象的方法名
//在这里打断点,会跳到对应的实现类
void execute();
}
接口的实现类
```plaintext
package com.dao;
//这是接口的实现类
//有一个关键字implements表示继承
public class IServiceImpl implements IService {
@Override
//一个标志表示重写
//接下来就写接口方法里面的内容
public void execute(){
System.out.println("method executed");
}
}
一个类
```plaintext
package com.dao;
public class Person {
private String name;
//监控整个声明周期值的变化
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return age
*/
public int getAge() {
return age;
}
/**
* 设置
* @param age
*/
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "Person{name = " + name + ", age = " + age + "}";
}
}