(1)定义一个Flower花作为父类
属性:颜色 价格
属性要进行封装(即为每条私有属性写set,get方法)
定义无参构造方法,和传两个参数的有参构造方法一个。
方法:显示详细信息的方法showInfo
(2)定义一个Rose玫瑰花类继承Flower类
玫瑰花自己的属性:产地(要求对产地属性进行封装 私有化属性)
重写父类中的显示详细信息的方法showInfo,在重写的showInfo方法中通过super调用父类的showInfo方法;并显示产地信息。
再定义一个方法warn警告显示:不要摘玫瑰花,小心扎手!
(3)定义测试类Test完成:
①实例化Flower类,调用构造方法赋值,并调用方法,输出:
花的颜色是白色,价格是10元
②实例化玫瑰花类,调用方法,输出:
花的颜色是紫色,价格是30元
产地是大理
不要摘玫瑰花,小心扎手!
public class FlowerTest{
public static void main(String[] args){
//实例化Flower类
Flower f1 = new Flower("白色", 10);
//调用方法
f1.showlnfo();
//实例化Rose类
Rose r1 = new Rose("紫色", 30, "大理");
//调用方法
r1.showlnfo();
r1.warn();
}
}
class Flower{
//成员变量
private String color;
private int record;
//默认构造方法
public Flower(){
}
//构造方法
public Flower(String color,int record){
this.color = color;
this.record = record;
}
//set 方法
public void setColor(String color){
this.color = color;
}
public void setReord(int record){
this.record = record;
}
//get 方法
public String getColor(){
return color;
}
public int getRecord(){
return record;
}
//成员方法
public void showlnfo() {
System.out.println("花的颜色是" + color + ",价格是" + record + "元");
}
}
//定义一个Rose玫瑰花类继承Flower类
class Rose extends Flower{
//子类的成员变量
private String place;
//构造方法
public Rose(){
}
//构造方法
public Rose(String color,int record,String place){
super("紫色", 30);
this.place = place;
}
//set 方法
public void setPlace(String place){
this.place = place;
}
//get 方法
public String getPlace(){
return place;
}
//成员方法
public void showlnfo(){
super.showlnfo();
System.out.println("产地是" + place);
}
public void warn(){
System.out.println("不要玫瑰花,小心扎手!");
}
}