JavaBean 是一种 Java语言写成的可重用的组件;
所谓 JavaBean,是指符合如下标准的 Java类:
用户可以使用 JavaBean将功能、处理、值、数据库访问和其他任何用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。
常用的UML软件包含:PowerDesigner
使用 this
修饰的变量,表示的是属性;没有使用 this
修饰的,表示的是形参;
this
可以调成员变量、方法、构造器;
一般情况: 我们通过对象a调用方法,可以在方法内调用当前对象a的属性或其他方法。此时,我们可以在属性和其他方法前使用 “this.”,表示当前属性或方法所属的对象a。但是,在一般情况下,我们都选择省略 “this.” 结构;
特殊情况: 如果方法的形参与对象的属性同名了,我们必须使用 “this.” 进行区分。使用 “this.” 修饰的变量即为属性,没有使用 “this.” 修饰的变量,即为局部变量;
public void setAge(int age){this.age = age;
}
public Person(String name, String email){this.name = name;this.email = email;
}
格式:“this(形参列表)”
我们可以在类的构造器中,调用当前类中指定的其他的构造器;
要求:“this(形参列表)” 必须声明在当前构造器的首行;
结论:“this(形参列表)” 在每个构造器中最多声明一个;
public User(){// 模拟对象创建时,需要初始化50行代码。
}
public User(String name){this(); // 调用类的构造器User()this.name = name;
}
public User(String name, int age){this(name); // 调用类的构造器User(String name)this.age = age;
}
public class Boy {// 定义属性private String name;private int age;// 定义 getter setterpublic void setName(String name){this.name = name;}public String getName(){return name;}public void setAge(int age){this.age = age;}public int getAge(){return age;}// 定义构造函数public Boy(){}public Boy(String name, int age){this.name = name;this.age = age;}// 定义方法public void marry(Girl girl){System.out.println("我想娶" + girl.getName());}public void shout(){System.out.println("呐喊");}
}
public class Girl {// 定义属性private String name;private int age;// 定义构造函数public Girl() {}public Girl(String name, int age){this.name = name;this.age = age;}// 定义 getter setterpublic void setName(String name){this.name = name;}public String getName(){return name;}// 定义方法public void marry(Boy boy){System.out.println("我想嫁给" + boy.getName());boy.marry(this);}// 比较两个Girl对象的大小(根据属性进行比较)public int compare(Girl girl){if(this.age > girl.age){return 1;}else if(this.age < girl.age){return -1;}else{return 0;}}
}
public class BoyGirlTest {public static void main(String[] args){Boy boy1 = new Boy("杰克", 24);Girl girl1 = new Girl("朱丽叶", 20);girl1.marry(boy1);Girl girl2 = new Girl("肉丝", 24);int compare = girl1.compare(girl2);if(compare > 0){System.out.println(girl1.getName() + "大");}else if(compare < 0){System.out.println(girl2.getName() + "大");}else{System.out.println("一样大");}}
}
备注: getset 以及 构造函数 的快捷键是 alt+insert