知识点

面向对象

题目1(训练)

定义手机类,手机有品牌(brand),价格(price)和颜色(color)三个属性,有打电话call()和sendMessage()两个功能。

请定义出手机类,类中要有空参、有参构造方法,set/get方法。

定义测试类,在主方法中使用空参构造创建对象,使用set方法赋值。

调用对象的两个功能,打印效果如下:

正在使用价格为3998元黑色的小米手机打电话…
正在使用价格为3998元黑色的小米手机发短信…
训练提示

类中的属性就是成员变量,类中的行为功能就是成员方法。
成员变量要被private修饰。
解题方案

操作步骤

定义手机类,手机类中定义String类型的品牌,int类型的价格,String类型的颜色,三个成员变量都用privice修饰。
提供空参构造方法和有参构造方法。
提供set/get方法。
编写打电话的成员方法,方法中对成员变量进行使用。
编写发短信的成员方法,方法中对成员变量进行使用。
在测试类中创建手机对象,使用set方法赋值,分别调用各个方法。
参考答案

手机类:
 public class Phone {
 //定义品牌
 private String brand;
 //定义价格
 private int price;
 //定义颜色
 private String color;//提供空参构造
public Phone() {
}
//提供有参构造
public Phone(String brand, int price, String color) {
    this.brand = brand;
    this.price = price;
    this.color = color;
}
//提供set/get方法
public String getBrand() {
    return brand;
}
public void setBrand(String brand) {
    this.brand = brand;
}
public double getPrice() {
    return price;
}
public void setPrice(int price) {
    this.price = price;
}
public String getColor() {
    return color;
}
public void setColor(String color) {
    this.color = color;
}
//定义打电话方法
public void call(){
    System.out.println("正在使用价格为"+price+"元"+color+"的"+brand+"手机打电话....");
}
//定义发短信方法
public void sendMessage(){
    System.out.println("正在使用价格为"+price+"元"+color+"的"+brand+"手机发短信....");
}}
测试类:
 public class Demo1 {
 public static void main(String[] args) {
 //创建手机对象
 Phone p = new Phone();
 //调用set方法赋值
 p.setBrand(“小米”);
 p.setPrice(3998);
 p.setColor(“黑色”);
 //调用打电话功能
 p.call();
 //调用发短信功能
 p.sendMessage();
 }
 }


题目2(训练)

定义一个女朋友类。女朋友的属性包含:姓名,身高,体重。行为包含:洗衣服wash(),做饭cook()。另外定义一个用于展示三个属性值的show()方法。请在测试类中通过有参构造方法创建对象并赋值,然后分别调用展示方法、洗衣服方法和做饭方法。打印效果如下:

我女朋友叫凤姐,身高155.0厘米,体重130.0斤
女朋友帮我洗衣服
女朋友给我做饭
训练提示

类中的属性就是成员变量,类中的行为功能就是成员方法。
成员变量要被private修饰。
展示方法的作用就是打印姓名、身高、体重三个成员变量的值。
解题方案

操作步骤

定义女朋友类,定义String类型姓名,double类型身高和double类型体重三个成员变量,三个成员变量都用privice修饰。
提供空参构造方法和有参构造方法。
提供set/get方法。
编写展示方法show(),方法打印三个成员变量的值。
编写洗衣服wash()方法,输出洗衣服的语句。
编写做饭cook()方法,输出做饭的语句。
在测试类中使用有参构造创建女友对象,分别调用各个方法。
参考答案

女朋友类:
 public class Girlfriend {
 //姓名
 private String name;
 //身高
 private double height;
 //体重
 private double weight;
 //空参构造
 public Girlfriend() {
 }
 //有参构造
 public Girlfriend(String name, double height, double weight) {
 this.name = name;
 this.height = height;
 this.weight = weight;
 }
 //set/get方法
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public double getHeight() {
 return height;
 }
 public void setHeight(double height) {
 this.height = height;
 }
 public double getWeight() {
 return weight;
 }
 public void setWeight(double weight) {
 this.weight = weight;
 }
 //展示方法
 public void show(){
 System.out.println(“我女朋友叫” +name+“,身高” +height+“厘米,体重”+weight+“斤”);
 }
 //洗衣服方法
 public void wash(){
 System.out.println(“女朋友帮我洗衣服”);
 }
 //做饭方法
 public void cook(){
 System.out.println(“女朋友给我做饭”);
 }
 }
 测试类:
 public class Demo2 {
 public static void main(String[] args) {
 //创建女朋友对象
 Girlfriend gf = new Girlfriend(“凤姐”,155,130);
 //调用展示方法
 gf.show();
 //调用洗衣服方法
 gf.wash();
 //调用做饭方法
 gf.cook();
 }
 }


题目3(训练)

定义项目经理类Manager。属性:姓名name,工号id,工资salary,奖金bonus。行为:工作work()

定义程序员类Coder。属性:姓名name,工号id,工资salary。行为:工作work()

要求:

1.按照以上要求定义Manager类和Coder类,属性要私有,生成空参、有参构造,set和get方法

2.定义测试类,在main方法中创建该类的对象并给属性赋值(set方法或有参构造方法)

3.调用成员方法,打印格式如下:

工号为123基本工资为15000奖金为6000的项目经理正在努力的做着管理工作,分配任务,检查员工提交上来的代码…
工号为135基本工资为10000的程序员正在努力的写着代码…
训练提示

类中的属性就是成员变量,类中的行为功能就是成员方法。
成员变量要被private修饰。
在工作work()方法中调用成员变量,输出成员变量的值。
解题方案

操作步骤

定义项目经理类,定义成员变量,构造方法,set和get方法,work方法,方法中根据打印格式输出id,salary,bonus的值。
定义程序猿类,定义成员变量,构造方法,set和get方法,work方法,方法中根据打印格式输出id和salary的值。
在测试类中使用有参构造创建项目经理对象并赋值,调用工作方法打印结果。
在测试类中使用有参构造创建程序员对象并赋值,调用工作方法打印结果。
参考答案

经理类:
 public class Manager {
 private String name;
 private int id;
 private int salary;
 private int bonus;
 public Manager() {
 }
 public Manager(String name, int id, int salary, int bonus) {
 this.name = name;
 this.id = id;
 this.salary = salary;
 this.bonus = bonus;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public int getSalary() {
 return salary;
 }
 public void setSalary(int salary) {
 this.salary = salary;
 }
 public int getBonus() {
 return bonus;
 }
 public void setBonus(int bonus) {
 this.bonus = bonus;
 }
 public void work(){
 System.out.println(“工号为”+id+“基本工资为”+salary+“奖金为”+bonus+“的项目经理正在努力的做着管理工作,分配任务,检查员工提交上来的代码…”);
 }
 }
 程序员类:
 package com.day07;public class Coder {
 private String name;
 private int id;
 private int salary;
 public Coder() {
 }
 public Coder(String name, int id, int salary) {
 this.name = name;
 this.id = id;
 this.salary = salary;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public int getSalary() {
 return salary;
 }
 public void setSalary(int salary) {
 this.salary = salary;
 }
 public void work(){
 System.out.println(“工号为”+id+“基本工资为”+salary+“的程序员正在努力的写着代码…”);
 }
 }
 测试类:
 public class Demo3 {
 public static void main(String[] args) {
 //创建经理对象
 Manager m = new Manager(“老王”,123,15000,6000);
 //调用工作方法
 m.work();
 //创建程序员对象
 Coder c = new Coder(“小王”,135,10000);
 //调用工作方法
 c.work();
 }
 }


题目4(训练)

定义猫类Cat。属性:毛的颜色color,品种breed。行为:吃饭eat(),抓老鼠catchMouse()

定义狗类Dog。属性:毛的颜色color,品种breed。行为:吃饭(),看家lookHome()

要求:

1.按照以上要求定义Cat类和Dog类,属性要私有,生成空参、有参构造,set和get方法

2.定义测试类,在main方法中创建该类的对象并给属性赋值(set方法或有参构造方法)

3.调用成员方法,打印格式如下:

花色的波斯猫正在吃鱼…
花色的波斯猫正在逮老鼠…
黑色的藏獒正在啃骨头…
黑色的藏獒正在看家…
训练提示

类中的属性就是成员变量,类中的行为功能就是成员方法。
成员变量要被private修饰。
解题方案

操作步骤

定义猫类,定义成员变量,构造方法,set和get方法,吃饭方法eat(),抓老鼠方法catchMouse(),方法中根据题目给出的格式输出成员变量的值。
定义狗类,定义成员变量,构造方法,set和get方法,吃饭方法eat(),看家方法lookHome(),方法中根据题目给出的格式输出成员变量的值。
在测试类中使用有参构造创建猫类对象,调用eat()方法和catchMouse()方法。
在测试类中使用有参构造创建狗类对象,调用eat()方法和lookHome()方法。
参考答案

猫类:
 public class Cat {
 private String color;
 private String breed;
 public Cat(){}
 public Cat(String color, String breed) {
 this.color = color;
 this.breed = breed;
 }
 public String getColor() {
 return color;
 }
 public void setColor(String color) {
 this.color = color;
 }
 public String getBreed() {
 return breed;
 }
 public void setBreed(String breed) {
 this.breed = breed;
 }
 public void eat(){
 System.out.println(color+“的”+breed+“正在吃鱼…”);
 }
 public void catchMouse(){
 System.out.println(color + “的”+ breed +“正在逮老鼠…”);
 }
 }
 狗类:
 public class Dog {
 private String color;
 private String breed;
 public Dog(){}
 public Dog(String color, String breed) {
 this.color = color;
 this.breed = breed;
 }
 public String getColor() {
 return color;
 }
 public void setColor(String color) {
 this.color = color;
 }
 public String getBreed() {
 return breed;
 }
 public void setBreed(String breed) {
 this.breed = breed;
 }
 public void eat(){
 System.out.println(color + “的”+ breed +“正在啃骨头…”);
 }
 public void lookhome(){
 System.out.println(color + “的”+ breed +“正在看家…”);
 }
 }
 测试类:
 public class Demo4 {
 public static void main(String[] args) {
 //创建猫对象
 Cat c = new Cat(“花色”,“波斯猫”);
 //调用猫的方法
 c.eat();
 c.catchMouse();
 //创建狗对象
 Dog d = new Dog(“黑色”,“藏獒”);
 d.eat();
 d.lookhome();
 }
 }