断点调试的快捷键
F7
:跳入方法内
F7(
跳入
)
F8(
跳过
)
shift+F8(跳出
)
F9(resume,
执行到下一个断点
)
F8:
逐行执行代码
.
shift+F8: 跳出方法
摘自韩顺平的ppt,记入一下
理解main 方法语法
深入理解main 方法
解释main方法的形式: public static void main(String[] args){}
1.main方法时虚拟机调用
2.java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public
3.java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static
在static方法中,不可以使用this 关键字
4.该方法接收String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数,案例演示,接收参数.
5.java执行的程序参数1参数2参数。args是一个数据,里面放了参数1,参数2,。。。。。。。
代码块的好处和案例演示
-
相当于另外一种形式的构造器(对构造器的补充机制),可以做初始化的操作
-
场景:如果多个构造器中都有重复的语句,可以抽取到初始化块中,提高代码的重用性
-
代码块的格式
[修饰符]{
代码
};
这样当我们不管调用哪个构造器,创建对象,都会先调用代码块的内容,代码块调用的顺序优先于构造器。
函数重载@Overload
package 文件名;
public class CodeBlock01 {
class Duck{
private String name;
private double age;
private String friend;
// 代码块的方式举例
{
System.out.println("鸭宝宝是救世主...");
System.out.println("它是上帝的小儿子...");
System.out.println("它在不久后会当上美国总统...");
};在构造器函数执行之前,都会将代码块执行一遍
//构造器重载
public Duck(String name) {
System.out.println("Duck(String name) 被调用...");
this.name = name;
}
//构造器重载
public Duck(String name, double age) {
System.out.println("Duck(String name,double age) 被调用...");
this.name = name;
this.age = age;
}
//构造器重载
public Duck(String name, double price, String friend) {
System.out.println("Duck(String name, double price, String friend) 被调用...");
this.name = name;
this.age = age;
this.friend = friend;
}
}
//主涵,会根据参数自动选择重载函数
public static void main(String[] args) {
//第一个鸭子实例,不知道年龄和朋友
Duck baby = new Duck("小鸭宝宝");
System.out.println("===============");
//第二个鸭子实例,知道名字,年龄和朋友
Duck baby2 = new Duck ("大帅哥鸭宝宝", 97.2, "我");
//第三个鸭子实例,知道名字,年龄
Duck baby2 = new Duck ("大漂亮鸭宝宝", 98.3);
}
}
参考: