本帖最后由 a825105162 于 2016-5-23 10:46 编辑
- class Dog {
- private String name;
- private int age;
- private boolean sex;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public boolean isSex() {
- return sex;
- }
- public void setSex(boolean sex) {
- this.sex = sex;
- }
- // 定义一个无参的构造
- public Dog() {
- }
- // 有一个参数的构造函数
- public Dog(String name) {
- this.name = name;
- }
- // 有两个参数的构造函数
- public Dog(String name, int age) {
- // 这里的this调用本类中的name构造
- this(name);
- this.age = age;
- }
- public Dog(String name, int age, boolean sex) {
- // 调用本类中的name和age构造
- this(name, age);
- this.sex = sex;
- }
- // 这里面的this代表调用当前方法的对象
- public void run() {
- String xb = "";
- if (this.isSex() == true) {
- xb = "雄性";
- } else {
- xb = "雌性";
- }
- System.out.println("狗的姓名是:" + this.getName() + "狗的年龄是:" + this.getAge() + "狗的性别是:" + xb);
- }
- }
- //测试类
- public class DogTest {
- public static void main(String[] args) {
- Dog d1 = new Dog("jerry");
- Dog d2 = new Dog("Tom",15);
- Dog d3 = new Dog("Dog",20,true);
- d1.run();
- d2.run();
- d3.run();
- }
- }
复制代码
你这个解释不是很恰当,不知道你从哪看到的资料是这样写的 首先this在构造函数中的使用如你这样是没有任何意义的。 |