【java实验二面向对象编程】

1. 按下列要求编写程序:

① 创建 Teacher 类;

要求:Teacher 类要描述姓名、年龄、薪水,类型分别为 String、int、double。

② 创建 TeacherTest 类;

要求:在 TeacherTest 类中创建 Teacher 的对象;为该对象的属性(姓名、

别、年龄)赋值;将该对象的属性(姓名、性别、年龄)输出。

③ 为 Teacher 类添加一个方法,用于在教师原有薪水的基础上增加 5000。

④ 修改 TeacherTest 类,增加对教师增加薪水方法的调用,并输出增加后的薪

水值。6

2. 定义一个 Person 类。

① 包含以下属性:String name; int age; boolean gender; Person partner。

② 定义 marry(Person p)方法,代表当前对象和 p 结婚,如若可以结婚,则输

出恭贺信息,否则输出不能结婚原因。下列情况不能结婚:结婚年龄,男

<24,女<22;某一方已婚。

③ 定义测试类,来测试以上程序。

3. 定义一个 Animal 类,该类有两个私有属性,name(代表动物的名字)和 legs(代

表动物的腿的条数)。

① 两个构造方法,一个无参,默认给 name 赋值为 AAA,给 legs 赋值为 4;

另一个需要两个参数,分别用这两个参数给私有属性赋值。

② 两个重载的 move()方法,其中一个无参,在屏幕上输出一行文字: XXX

Moving!!(XXX 为该动物的名字);另一个需要一个 int 参数 n,在屏幕上输

出 n 次 XXX Moving!!

4. 定义一个 Fish 类,继承自 Animal 类。

① 提供一个构造方法,该构造方法需要一个参数 name,并给 legs 赋默认值 0;

② 覆盖 Animal 类中的无参 move()方法,要求输出:XXX Swimming!!

二、程序编写

1.Teacher类

public class Teacher {

    public String name;

    public int age;

    public double salary;

    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 double getSalary(){

           return salary;

    }

    public void setSalary(double salary){

           this.salary = salary;

    }

    public Teacher(){

    }

    public Teacher(String name,int age,double salary){

        this.name = name;

        this.age = age;

        this.salary = salary;

    }

    public void addSalary(){

        this.salary=this.salary + 5000;

        }

    }

TeacherTest

public class TeacherTest {

    public static void main(String[] args){

        Teacher teacher=new Teacher();

        teacher.age=51;

        teacher.name="wuhui";

        teacher.salary=4500;

        System.out.println(teacher.age);

        System.out.println(teacher.name);

        System.out.println(teacher.salary);

        teacher.addSalary();

        System.out.println(teacher.salary);

    }

}

2.Person类

public class Person{

       private final String name;

       private final int age;

       private final boolean gender;

       Person partner;

       public Person(String name,int age,boolean gender,Person partner){

              this.name=name;

              this.age=age;

              this.gender=gender;

              this.partner=partner;

       }

       public void marry(Person p){

              if(this.gender==p.gender){

                      System.out.println("同性不能结婚!");

                      return;

              }

              if((this.gender && this.age<24) || (!this.gender && this.age<22)

              ||(p.gender && p.age < 24) || (!p.gender && p.age<22))

              {

                  System.out.println("没有达到结婚年龄! ");

                      return;

              }

              if(this.partner!=null||p.partner!=null){

                       System.out.println("有一方已经结婚!");

                       return;

              }

              System.out.println(this.name+","+p.name+","+"祝你们新婚愉快!");

              this.partner=p;

              p.partner=this;

       }

       public static void main(String[]args){

              Person pl=new Person("李新",23,false,null);

              Person p2=new Person("杨华",26,true,null);

              Person p3=new Person("孙梅",70,true,null);

              pl.marry(p2);

              pl.marry(p3);

        }

}

3.Animal类

public class Animal1 {

       private String name;

       private int legs;

       public Animal1() {

              this.name="AAA";

              this.legs=4;

       }

       public Animal1(String name, int legs){

              super();

              this.name=name;

              this.legs=legs;

       }

       public String getName() {

              return name;

       }

       public void setName(String name){

              this.name=name;

       }

       public int getLegs() {

              return legs;

       }

       public void setLegs(int legs) {

              this.legs = legs;

       }

       public void move(){

              System.out.println("Animal moving!");

       }

       public void move(int n){

             int i = 1;

             while (i <=n){

                    System.out.println("Animal moving!");

                    i++;

             }

       }

}

4.Fish类

public class Fish extends Animal {

    private String name;

    private int legs;

    public Fish(String name){

        this.name=name;

        this.legs=0;

    }

    public void move(){

        System.out.println("Fish is swimming!");

    }

}

class Bird extends Animal {

    private final String name;

    private final int legs = 2;

    public Bird(String name) {

        this.name = name;

    }

    public void move() {

        System.out.println("Bird is flying!");

    }

}

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敗北97

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值