作业打卡。

来源:4-4 编程练习

浅忆C

2020-08-04 17:16:36

Test类

public class Test {

    public static void main(String[] args){ 

//实例化父类对象,并传入两组相同的属性值

        Car car1=new Car("白色","张三峰");

        Car car2=new Car("白色","张三峰");


//调用父类use方法

        car1.use();


//通过重写equals方法,比较两个对象是否相等

System.out.println("car1和car2的引用比较:"+car1.equals(car2));



System.out.println("==================================");

        //实例化子类Taxi对象,并传入属性值

Taxi t=new Taxi("蓝色","张小泉","长生公司");


//调用ride和use方法

t.ride();

t.use();


//输出重写toString后的taxi信息

System.out.println(t.toString());


System.out.println("==================================");

//实例化子类HomeCar对象,并传入属性值

HomeCar h=new HomeCar("紫色","孙二娘",7);


//调用display方法及它的重载方法

h.display();

h.display(5);

        


}

}

Car类

public class Car {

    //属性:车的颜色color、车主姓名userName

private String color,userName;


public Car(){

}

//带参构造函数(参数为color和userName)

public Car(String color,String userName){

this.color=color;

this.userName=userName;

}


    //通过封装实现对私有属性的get/set操作

    public String getColor() {

return color;

}


public void setColor(String color) {

this.color = color;

}


public String getUserName() {

return userName;

}


public void setUserName(String userName) {

this.userName = userName;

}


    //创建无参无返回值得方法use(描述内容为:我是机动车!)

public void use(){

    System.out.println("我是机动车!");

}



//重写equals方法,比较两个对象是否相等(比较color,userName)

public boolean equals(Car c){

    if(c==null){

        return false;

    }else if(this.getColor().equals(c.getColor())&& 

    this.getUserName().equals(c.getUserName())){

        return true;

    }else{

        return false;

    }

}

}

Taxi类

public class Taxi extends Car{

    //私有属性:所属公司( company)

private String company;


public Taxi(){

}

//调用父类的构造方法,完成属性赋值

    public Taxi(String color,String userName,String company){

super(color,userName);

this.company=company;

}

    //通过封装实现对私有属性的get/set操作

    public String getCompany() {

return company;

}

public void setCompany(String company) {

this.company = company;

}


//创建不允许重写的ride方法,描述为:**出租车是所属于***公司的。

public final void ride(){

    System.out.println(this.getUserName()+"的出租车是所属于"+this.getCompany());

}





//重写父类use方法,描述为:出租车是提高市民生活质量的重要条件之一

public void use(){

    System.out.println("出租车是提高市民生活质量的重要条件之一");

}




//重写toString方法,输出的表现形式不同(输出color,userName)

public String toString(){

    return "taxi的信息是:"+this.getUserName()+"拥有一辆"+this.getColor()+"的出租车";

}

}

HomeCar类

public final class HomeCar extends Car{

    //私有属性:载客数(num)

    private int num;


    

public HomeCar(){

}

//带参构造方法为所有属性赋值

public HomeCar(String color,String userName,int num){

super(color,userName);

this.num=num;

}


   //通过封装实现对私有属性的get/set操作

   public int getNum() {

return num;

}

public void setNum(int num) {

this.num = num;

}

   

//创建无参无返回值的display方法,表现为:**拥有的**颜色的私家车,有**座位

public void display(){

    System.out.println(this.getUserName()+"拥有的"+this.getColor()+"颜色的私家车,有"+this.getNum()+"座位");

}

    


//重载display方法(带参数num),描述为:家用汽车大多有**个座位

public void display(int num){

    System.out.println("家用汽车大多有"+num+"个座位");

}

}


写回答

1回答

好帮手慕阿慧

2020-08-04

同学你好,已完成练习,并代码规范,很棒哦~ 继续加油!如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 16556 问题

查看课程

相似问题