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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 问:什么是内部类呢?

    答:内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。

    问:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊!!

    答:内部类的主要作用如下:

    1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

    2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

    3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

    问:内部类有几种呢?

    答:内部类可分为以下几种:

    成员内部类

    静态内部类

    方法内部类

    匿名内部类


    查看全部
  • final

    查看全部
  • 接口定义

    查看全部
    0 采集 收起 来源:Java 中的接口

    2018-04-12

  • public class helleworld{
       string name;//定义一个成员变量
       //通过初始化块为成员变量赋值
       {
          name="爱慕课";
       }
    }


    查看全部
  • 静态方法顾名思义即是由类所有,而并非对象所有。

    查看全部
  • 构造方法:new+构造方法,创建一个新的对象。

    构造方法:用来初始化对象的方法。与类同名没有返回值,还可以保证给对象属性一个合理的值

    有参的构造方法;初始化对象,给实例变量初值

    没有指定构造方法的时候,系统会自动添加无参的构造方法

    方法会重载(参数不同)


    查看全部
  • 子类对父类方法不满意,可以重写父类的方法,调用时有限调用子类方法。

    查看全部
  • 抽象类

    查看全部
  • import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class Test {
        public static void main(String[] args) {
            System.out.println("~~~~~~~欢迎使用哒哒租车~~~~~~~~ ");
            System.out.println("您是否要租车:1.是 >> 点击其他键退出");
            Scanner z = new Scanner(System.in);
            while (z.nextInt() == 1) {
                System.out.println(">>>您可选择车的类型及其价目表:");
                System.out.println("-------------------------------------------");
                Car[] cars = {new PassengerCar(1, "奥迪A8L", 600, 4),
                        new PassengerCar(2, "奔驰G", 800, 4),
                        new Pickup(3, "福特猛禽", 1300, 4, 2),
                        new PassengerCar(4, "宝马M5", 700, 20),
                        new Truck(5, "斯柯达", 500, 4),
                        new Truck(6, "依维柯", 1000, 20)
                };
                System.out.println("序号" + "  " + "\t"+ "车型"+ "     " + "\t"+ "租金" + "      " + "\t"+ "容量");
                for (Car car : cars) {
                    //判断左边的类是否是右边的实例类
                    if (car.getClass().equals(PassengerCar.class)) {
                        //如果是客车的实例类
                        System.out.println(car.getId() + "\t" + "\t"+ car.getName() + "\t" + "\t"+ car.getPrice() + "/天" + "\t"
                                + "\t" + "载客" + ((PassengerCar) car).getCapacity() + "/人");
                    }
                    if (car.getClass().equals(Truck.class)) {
                        System.out.println(car.getId() + "\t" + "\t"+ car.getName() + "\t"+ "\t" + car.getPrice() + "/天" + "\t"
                                + "\t" + "载货" + ((Truck) car).getCargoVolume() + "/吨");
                    }
                    if (car.getClass().equals(Pickup.class)) {
                        System.out.println(car.getId() + "\t" + "\t"+ car.getName() + "\t" + "\t"+ car.getPrice() + "/天" + "\t"
                                + "\t"  + "载客" + ((Pickup) car).getCapacity() + "/人" + " " + "载货" + ((Pickup) car).getCargoVolume() + "/吨");
                    }
                }
                System.out.println("-------------------------------------------");
                System.out.println("-->请输入你要租的汽车的数量:");
                int carNum = z.nextInt();//用于接收租车的数量
    
                List<Car> carList = new ArrayList<Car>();
                int add = 0;
    
                List<Car> carListPassenger = new ArrayList<>(); //用来储存可载人的车辆
                List<Car> carListTrunk = new ArrayList<>();  //用来储存可载货的车辆
    
                int passengerCar = 0; //载人数
                int carCargo = 0; //载货量
                int carPrice = 0; //总资金
    
                for (int i = 0; i < carNum; i++) {
                    System.out.println(">>请输入第" + (i + 1) + "辆车的序号:");
                    int num = z.nextInt(); //用于接收输入的汽车的序号
                    carList.add(cars[num - 1]);
                    System.out.println("----成功添加:" + carList.get(add).getName());
                    if (cars[num - 1].getClass().equals(PassengerCar.class)) {
                        passengerCar += ((PassengerCar) carList.get(add)).getCapacity();
                        carPrice += ((PassengerCar) carList.get(add)).getPrice();
                        carListPassenger.add(carList.get(add));
                    }
                    if (cars[num - 1].getClass().equals(Pickup.class)) {
                        passengerCar += ((Pickup) carList.get(add)).getCapacity();
                        carCargo += ((Pickup) carList.get(add)).getCargoVolume();
                        carPrice += ((Pickup) carList.get(add)).getPrice();
                        carListPassenger.add(carList.get(add));
                        carListTrunk.add(carList.get(add));
                    }
                    if (cars[num - 1].getClass().equals(Truck.class)) {
                        carCargo += ((Truck) carList.get(add)).getCargoVolume();
                        carPrice += ((Truck) carList.get(add)).getPrice();
                        carListTrunk.add(carList.get(add));
                    }
                    add++;
                }
                System.out.println(">>请输入租车的天数:");
                Scanner g = new Scanner(System.in);
                int carDay = g.nextInt();
                carPrice = carPrice * carDay;
                System.out.println("------------租车选车完成------------" + "\n" + "下面开始统计数据..........");
                //租车完成,开始统计数据并输出
                System.out.print("您租的车共有" + carNum + "辆:" + " ");
                for (Car car : carList) {
                    System.out.print(car.getName() + " ");
                }
                System.out.println();
                System.out.println("共租用:" + carDay + " 天");
                System.out.println("可载人:" + passengerCar + " 人");
                System.out.println("可载货:" + carCargo + " 吨");
                System.out.println("需要付款:" + carPrice + " 元");
                System.out.println("->请输入付款金额:");
                System.out.println("------------");
                Scanner x = new Scanner(System.in);
                while (carPrice != x.nextInt())
                    System.out.println("------------" + "\n" + "输入错误,请重新输入金额!");
                System.out.println("------------");
                System.out.println("->请输入付款密码:");
                Scanner y = new Scanner(System.in);
                while (y.nextInt() != 123456)
                    System.out.println("------------" + "\n" + "密码错误,请重新输入!");
                System.out.println("------------");
                System.out.println("              交易成功!");
                System.out.println();
                System.out.println("------------感谢您的使用--------------");
    
                System.out.println("………………继续租车请按1,退出请按其他键………………");
            }
            System.out.println("***欢迎再次使用,再见!***");
        }
    }


    查看全部
    0 采集 收起 来源:综合练习

    2018-04-12

  • 1.抽象类是约束子类必须有什么样的方法,而并不关注子类如何去实现

    查看全部
  • 属性是类的。变量是一般称呼。

    查看全部
  • 修饰属性时注意:如果声明时没有初始化可以在构造方法里初始化,但是不能同时在两个地方都初始化或都不初始化

    查看全部
  • object equals方法,比较的是对象的引用是否指向同一个地址

    比较值的时候,重写equals方法

    类对象:属性信息

    类的对象:属性值的信息


    查看全部
  • object 是所有类的父类,一个类没有明确指定是继承哪一个类的,就默认继承object类

    tostring 返回的哈希code码,地址

    得到属性的话,需要重新写tostring方法,source --generate tostring


    查看全部
  • super 在对象的内部使用,可以代表父类对象。super. 

    查看全部

举报

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

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