Java——继承

继承: 子类拥有父类的属性和方法。(面向对象的三大特征之一) 子类: 父类: (基类、超类) 特点: 1 子类不能继承父类的private属性和方法 2 类的继承是单继承,但是可以多重继承。 3 一般属性用private修饰,方法用public修饰,所以我们以后开发的工作里面,主要是继承方法的。 格式: extends public 子类 extends 父类{ } 使用场景: 如果多个类有共同的属性和方法,那么我们可以把这些类中共同的属性和方法放到父类中,让这些类(子类)去继承父类,减少代码的重复性。

this、super 都可以代表对象,对象可以调用属性和方法 this.xx super.xx 构造方法里面怎么用。 this() super() 代表调用构造方法,并且只能在构造方法里面被调用,而且必须放在第一行 this: 1 对象本身,new的对象就是这个this 2 this() 调用构造方法,可以有参数,一般只在构造方法里面 3 如果构造方法里面调用this(),只能放在第一行,否则报错。 构造方法补充: 如果类里面没有写构造方法,那么系统默认给一个无参构造方法。 如果类里面有有参构造方法,那么系统不会给无参构造方法。 super 1 代表的就是父类对象 2 子类的构造方法里面,默认第一句会添加super() 3 如果子类构造方法手动调用super(),必须放在第一行

静态>普通 父类>子类的 代码块>构造方法 父类静态代码块 子类静态代码块 父类代码块 父类构造方法 子类代码块 子类构造方法

package com.cn.Car;
//父类
public class CarSelling {
    private String brand;//品牌

    private String models;//型号

    private int price;//售价

    public CarSelling() {
    }

    public CarSelling(String brand, String models, int price) {
        this.brand = brand;
        this.models = models;
        this.price = price;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getModels() {
        return models;
    }

    public void setModels(String models) {
        this.models = models;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }
}
package com.cn.Car;
//子类
public class Acar extends CarSelling{
    //小轿车
    private double consumption;//油耗

    private String engine;//发动机

    public Acar(String brand, String models, int price, double consumption, String engine) {
        super(brand, models, price);
        this.consumption = consumption;
        this.engine = engine;
    }

    public double getConsumption() {
        return consumption;
    }

    public void setConsumption(double consumption) {
        this.consumption = consumption;
    }

    public String getEngine() {
        return engine;
    }

    public void setEngine(String engine) {
        this.engine = engine;
    }
}
package com.cn.Car;
//子类
public class Truck extends CarSelling {
    private int load;//载重

    private String goods;//拉货物

    public Truck() {
    }

    public Truck(String brand, String models, int price, int load, String goods) {
        super(brand, models, price);
        this.load = load;
        this.goods = goods;
    }

    public int getLoad() {
        return load;
    }

    public void setLoad(int load) {
        this.load = load;
    }

    public String getGoods() {
        return goods;
    }

    public void setGoods(String goods) {
        this.goods = goods;
    }
}
package com.cn.Car;

import java.util.Scanner;

public class SellingCars {
    public Scanner scanner = new Scanner(System.in);

    public void Sellingcars() {
        Acar acar = new Acar("凯迪拉克", "CT6", 38, 18, "xxxxx");
        Truck truck = new Truck("一汽", "大卡车", 20, 10, "什么都能拉");
        System.out.println("--------------欢迎进入卖车系统----------------");
        System.out.println("1.小坐一会  2.随便看看  3.试驾一下");
        int i = scanner.nextInt();//选择选项
        switch (i) {
            case 1:
                System.out.println("好的,你有需要联系我");
                break;
            case 2:
                System.out.println("1.轿车  2.卡车");
                int choose = scanner.nextInt();//选择:1.轿车  2.卡车

                switch (choose) {
                    case 1:
                        System.out.println("您选择购买轿车凯迪拉克,请付款35万元人民币:");
                        int choose1 = scanner.nextInt();
                        if (choose1 == 350000) {
                            System.out.println("付款成功,您成功在欣知汽车购买凯迪拉克轿车一辆。");
                            System.out.println("您购买的轿车型号如下:");
                            System.out.println("品牌:"+acar.getBrand());
                            System.out.println("型号:"+acar.getModels());
                            System.out.println("售价:"+acar.getPrice());
                            System.out.println("百公里油耗:"+acar.getConsumption());
                            System.out.println("发动机类型:"+acar.getEngine());
                        } else {
                            System.out.println("付款失败");
                        }
                        break;
                    case 2:
                        System.out.println("您选择购买卡车一汽,请付款30万元人民币:");
                        int choose2 = scanner.nextInt();
                        if (choose2 == 300000) {
                            System.out.println("付款成功,您成功在欣知汽车购买一汽卡车一辆。");
                            System.out.println("您购买的卡车型号如下:");
                            System.out.println("品牌:"+truck.getBrand());
                            System.out.println("型号:"+truck.getModels());
                            System.out.println("售价:"+truck.getPrice());
                            System.out.println("最人载重:"+truck.getLoad());
                            System.out.println("可拉货物类型:"+truck.getGoods());
                        } else {
                            System.out.println("付款失败");
                        }

                }break;
                    case 3:
                        System.out.println("6666");
                        break;
                    default:
                        System.out.println("输入错误");


        }
    }

}
package com.cn.Car;

public class Test {
    public static void main(String[] args) {
        SellingCars sellingCars = new SellingCars();
        sellingCars.Sellingcars();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值