再我们写代码的过程中,有的方法逻辑会非常长,而且这些参数再名称上有很多相似的地方,为了解决这个问题,我们通常有两种解决办法:
1.拆分大段逻辑为多个小段逻辑的方法:
2.给参数取不同的名字。
例如:Person.java
public class Person {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person(int id, String name) {
super();
this.id = id;
this.name = name;
}
}
PersonTest.java:
public class PersonTest {
public static void main(String[] args) {
test();
}
// 给变量起不同名称
public static void test() {
Person p = new Person(1, "p1");
System.out.println(p.getId() + " : " + p.getName());
Person p1 = new Person(1, "p1");
System.out.println(p1.getId() + " : " + p1.getName());
Person p2 = new Person(1, "p1");
System.out.println(p2.getId() + " : " + p2.getName());
}
// 把大段逻辑拆分为小段逻辑的方法
public static void test11() {
Person p = new Person(1, "p1");
System.out.println(p.getId() + " : " + p.getName());
}
public static void test12() {
Person p = new Person(1, "p1");
System.out.println(p.getId() + " : " + p.getName());
}
public static void test13() {
Person p = new Person(1, "p1");
System.out.println(p.getId() + " : " + p.getName());
}
}
问题:第一种方法总给人一种很low的感觉,而且这种方式看起来很乱,而第二种方法存在的问题就是我们很多逻辑并不需要这么拆分,因为这些逻辑没有重用性。
第三种解决办法:使用代码块(为不同逻辑用{}包起来)
public static void test1() {
// 第一部分逻辑
{
Person p = new Person(1, "p1");
System.out.println(p.getId() + " : " + p.getName());
}
{
Person p = new Person(1, "p1");
System.out.println(p.getId() + " : " + p.getName());
}
{
Person p = new Person(1, "p1");
System.out.println(p.getId() + " : " + p.getName());
}
}
这么做的好处很明显:我们不需要为变量的名称重名而担心,同时会让我们的代码逻辑看起来非常清晰。