为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第二季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 包用来管理文件夹,解决同名文件冲突。

    查看全部
  • 当没有指定构造方法时,自动添加无参构造方法,有指定构造方法时不会自动添加。

    查看全部
  • 构造方法名称与类名相同,没有返回值。

    查看全部
  • 构造方法用来创建对象,并给对象赋值。

    查看全部
  • 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

    查看全部
  • 包的使用,import关键字

    查看全部
  • 静态方法通过对象来调用非静态方法

    查看全部
  • 静态初始化块只在类加载时执行一次,

    查看全部
  • 没有返回值类型。。。

    查看全部
  • 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,

    查看全部
  • 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员.

    查看全部
  • 可以直接用类名调用静态方法,也可以用对象调用静态方法。

    查看全部
  • 静态变量可以通过类名访问,可以通过对象名访问,也可以通过使用对象名的形式修改静态变量的值。


    查看全部
  • Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有.

    查看全部
  • package com.imooc.practice;

    import java.util.*;

    //所有类型的车可以提取出车这个父类,包含车名、载人数、载货量、租金4个属性

    public abstract class Car {

    //使用封装概念,只能通过指定的方法读写属性

    private int rent; //日租金;

    private int personnum; //载人数;

    private int cargo; //载货量;

    private  String name; //车名;

    //使用set、get方法读写属性

    public int getRent() {

    return rent;

    }

    public void setRent(int rent) { 

    this.rent = rent; 

    }

    public int getPersonnum() { 

    return personnum;

    }

    public void setPersonnum(int person) {

    this.personnum = person;

    }

    public int getCargo() {

    return cargo;

    }

    public void setCargo(int cargo) {

    this.cargo = cargo;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    }

    }

    //创建乘用车子类

    public class PassengerCar extends Car {

    public PassengerCar(String name, int personnum, int cargo, int rent) {

    this.setName(name);

    this.setPersonnum(personnum);

    this.setRent(rent);

    this.setCargo(cargo);

    }

    //重写toString方法返回乘用车车辆信息

    public String toString() {

    return this.getName()+"\t\t"+this.getPersonnum()+"\t\t"+this.getCargo()+"\t\t"+this.getRent();

    }

    }

    //创建货运车子类

    public class Truck extends Car {

    public Truck (String name, int personnum, int cargo, int rent) {

    this.setName(name);

    this.setPersonnum(personnum);

    this.setCargo(cargo);

    this.setRent(rent);

    }

    //重写toString方法返回货运车信息

    public String toString() {

    return this.getName()+"\t\t"+this.getPersonnum()+"\t\t"+this.getCargo()+"\t\t"+this.getRent();

    }

    }

    //创建皮卡子类

    public class Pickup extends Car {

    public Pickup(String name, int personnum, int cargo, int rent) {

    this.setName(name);

    this.setPersonnum(personnum);

    this.setCargo(cargo);

    this.setRent(rent);

    }

    //重写toString方法返回皮卡车信息

    public String toString() {

    return this.getName()+"\t\t"+this.getPersonnum()+"\t\t"+this.getCargo()+"\t\t"+this.getRent();

    }

    }

    public class DadaTestDrive {


    public static void main(String[] args) {

    // TODO Auto-generated method stub

    //对各类车实例化并保存到数组

    Car[] cars = {

    new PassengerCar("奥迪A4",4,0,500), 

    new PassengerCar("马自达6",4,0,400), 

    new Pickup("皮卡雪6",4,2,450), 

    new PassengerCar("金龙",20,0,800), 

    new Truck("松花江",0,4,400), 

    new Truck("依维柯",0,20,1000)

    };

    //进入提示显示步骤

    System.out.println("欢迎使用达达租出系统!");

    System.out.println("***租车请按1,不租车请按2***");

    //读取用户键入的信息并判断

    Scanner input = new Scanner(System.in);

    int key = input.nextInt();

    if(key !=1) {

    System.out.println("期待您下次光临!");

    input.close();

    return;

    }else if(key == 1) {

    System.out.println("您可租的车型及价目表如下:");

    System.out.println("序号"+"\t车名"+"\t\t载人数(人)"+"\t载货量(吨)"+"\t租金(元/天)");

    //输出实例化的各类车

    for(int i=0; i<cars.length; i++) {

    System.out.println((i+1)+"\t"+cars[i]);

    }

    }

    //输入想租的车的数量

    System.out.println("请输入要租车的数量:");

    int carcount = input.nextInt();

    //更新车辆数组

    Car[] newCars = new Car[carcount];

    int totalRent = 0;

    int totalPerson = 0;

    int cargo = 0;

    for(int i=0; i<carcount; i++) {

    System.out.println("请输入第"+(i+1)+"辆车的序号");

    int serialNum = input.nextInt();

    newCars[i] = cars[serialNum-1];

    }

    System.out.println("请输入您想租车的天数:");

    int days = input.nextInt();

    //计算租金

    for(int i=0; i<carcount; i++) {

    totalRent += newCars[i].getRent()*days;

    }

    //输出账单

    System.out.println("您本次的租车账单:");

    System.out.print("\n");

    //列出所选乘用车并计算总的载人数

    System.out.println("已选载人车:");

    for(int i=0; i<carcount; i++) {

    if(newCars[i].getPersonnum() != 0) {

    System.out.println(newCars[i].getName());

    totalPerson += newCars[i].getPersonnum();

    }

    }

    System.out.print("\n");

    System.out.println("已选载货车:");

    //列出所选货运车并计算总的载货量

    for(int i=0; i<carcount;i++) {

    if(newCars[i].getCargo() != 0) {

    System.out.println(newCars[i].getName());

    cargo += newCars[i].getCargo();

    }

    }

    System.out.print("\n");

    System.out.println("共可载客"+totalPerson+"人");

    System.out.println("共可载货"+cargo+"吨");

    System.out.println("请付租金"+totalRent+"元");

    System.out.print("\n");

    System.out.print("谢谢惠顾,欢迎下次光临");

    input.close();

    }

    }


    查看全部

举报

0/150
提交
取消
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!