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

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分
  • 项目分析

    1. 数据模型分析

      1. 通过对现实世界的事与物主要特征的分析、抽象,为信息系统的实施提供数据存储的数据结构以及相应的约束。

      2. 数据结构组成:操作(方法)、属性

    2. 业务模型分析

      1. 在设计应用程序之前,应该明确该应用程序必须执行哪些任务。

        分析业务需求是应用程序开发中最重要的步骤职一。

        确认业务需求的目的在于创建一个能同时满足零售商和消费者需要的解决方案。

      2. 考虑消费者业务需求。

    3. 显示和流程分析

      1. 显示:用户可以看到的信息提示界面。

      2. 流程:显示信息的执行过程、步骤。

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

    2018-08-22

    1. UML概念

      Unified Modeling Language(UML)

      又称统一建模语言或标准建模语言

      是一个支持模型化和软件系统开发的图形化语言

      为软件开发的所有阶段提供模型化和可视化支持

    2. UML图示

      UML 2.2中一共定义了14种图示(diagrams)。

    3. 常用UML图

      用例图

      用例图能够以可视化的方式,表达系统如何满足所收集的业务规则,以及特定的用户需求等信息。

      序列图

      序列图用于按照交互发生的一系列顺序,显示对象之间的这些交互。

      类图

      UML类图、业务逻辑和所有支持结构一同被用于定义全部的代码结构。

    4. UML建模工具

      Visio、Rational Rose、PowerDesign三种建模工具

    查看全部
    0 采集 收起 来源:UML 简介

    2018-08-22

  •  super关键字:在对象的内部使用,可以代表父类对象;

    1,访问父类的属性:super.age

    2,访问父类的方法:super.eat()

    查看全部
  • 访问修饰符     本类    同包    子类    其他

    private            1

    默认                 1         1

    protected         1        1        1

    public                1        1        1        1

    查看全部
  • package j2ee;
    import java.util.Scanner;
    public class Test {
       public static void main(String[] args){
           
            Passenger c1 = new Passenger("奥迪A4",500,4);
            Passenger c2 = new Passenger("马自达6",400,4);
            PickUp c3 = new PickUp("皮卡雪6",450,4,2);
            Passenger c4 = new Passenger("金龙",800,20);
            Track c5 = new Track("松花江",400,4);
            Track c6 = new Track("依维柯",1000,20);
            
           System.out.println("欢迎使用答答租车系统:");
           System.out.println("您是否要租车:");
           Scanner s = new Scanner(System.in);
           int b = s.nextInt();
           if(b==1){
               System.out.println("请输入您要租汽车的数量:");
               
               Scanner s1=new Scanner(System.in);           
               int a = s1.nextInt();
               int i=1;
               int sum = 0;
               int person=0;
               int goods=0;
               String carperson[]=new String[6];
               String cargoods[]=new String[6];
               int j=0;
               int p=0;
               while(i<=a){
                   
                   System.out.println("请输入第"+i+"辆车的序号");    
                   i++;
                   Scanner s2 = new Scanner(System.in);
                    switch(s2.nextInt()){
                    case 1:
                       carperson[++j]=c1.getName();
                        sum=sum+c1.getPrice();
                        person=person+c1.getPerson_num();
                        break;
                    case 2:
                       carperson[++j]=c2.getName();
                        sum+=c2.getPrice();
                        person+=c2.getPerson_num();
                        break;
                    case 3:
                       carperson[++j]=c3.getName();
                      cargoods[++p]=c3.getName();
                        sum+=c3.getPrice();
                        person+=c3.getPerson_num();
                        goods+=c3.getGoods_num();
                        break;
                    case 4:
                       carperson[++j]=c4.getName();
                        sum+=c4.getPrice();
                        person+=c4.getPerson_num();
                        break;
                    case 5:
                       cargoods[++p]=c5.getName();
                        sum+=c5.getPrice();
                        goods+=c5.getGoods_num();
                        break;
                    default:
                       cargoods[++p]=c6.getName();
                        sum+=c6.getPrice();
                        goods+=c6.getGoods_num();
                        break;
               }

           }
               System.out.println("请输入租车天数:");
               Scanner s3 = new Scanner(System.in);
               int s4 = s3.nextInt();
               if(j>0){
                   System.out.println("***可载人的车有:");
               while(j>0){
               System.out.println(carperson[j]);
               j--;
               }
               }
               if(p>0){
                   System.out.println("***可载货的车有:");
               while(p>0){
                   System.out.println(cargoods[p]);
                   p--;
               }
               }
               System.out.println("载客量为:"+person);
               
            
               System.out.println("载货量为:"+goods);
               System.out.println("租车总价格:"+s4*sum);
       }
       }
    }

    package j2ee;

    public   class Car {
        private String name;
        private int price;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getPrice() {
            return price;
        }
        public void setPrice(int price) {
            this.price = price;
        }
        
        
    }

    package j2ee;

    public class PickUp extends Car{
        private int goods_num;
        private int person_num;
        public PickUp(String name,int price,int person_num,int goods_num)
        {
            super();
            super.setName(name);
            super.setPrice(price);
            this.goods_num = goods_num;
            this.person_num = person_num;
        }
        

      public int getGoods_num() {
            return goods_num;
        }


        public void setGoods_num(int goods_num) {
            this.goods_num = goods_num;
        }


        public int getPerson_num() {
            return person_num;
        }


        public void setPerson_num(int person_num) {
            this.person_num = person_num;
        }


    public String toString(){
          return this.getName()+"\t"+this.getPrice()+"元/天\t载人:"+person_num+"人\t载货:"+goods_num;
      }
    }


    package j2ee;

    public class Track extends Car {
        
        private int goods_num;
        public Track(String name,int price,int goods_num)
        {
            super();
            super.setName(name);
            super.setPrice(price);
            this.goods_num = goods_num;
        }
     

      public int getGoods_num() {
            return goods_num;
        }


        public void setGoods_num(int goods_num) {
            this.goods_num = goods_num;
        }


    public String toString(){
          return this.getName()+"\t"+this.getPrice()+"元/天\t载人:"+goods_num;
      }
    }

    package j2ee;

    public class Passenger extends Car {
        private int person_num;
        public Passenger(String name,int price,int person_num)
        {
            super();
            super.setName(name);
            super.setPrice(price);
            this.person_num = person_num;
        }
        

      public int getPerson_num() {
            return person_num;
        }


        public void setPerson_num(int person_num) {
            this.person_num = person_num;
        }


    public String toString(){
          return this.getName()+"\t"+this.getPrice()+"元/天\t载人:"+person_num;
      }
    }






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

    2018-08-22

  • 静态内部类是 static 修饰的内部类,这种内部类的特点是:

    1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 

    2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

    3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();


    查看全部
  • 接口

    1. 接口概念

      接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成。

      类是一种具体实现体,而接口定义了某一批所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只规定这些类里必须提供某些方法。

    2. 接口定义

      和类定义不同,定义接口不再使用class关键字,而是使用interface关键字。

      接口定义的基本语法:

      [修饰符] interface 接口名 [extends 父接口1,父接口2...]

      {

      零个到多个常量定义...

      零个到多个抽象方法的定义...

      }

      接口就是用来被继承、被实现的,修饰符一般用public

      注意:不能使用private和protected修饰接口

    3. 接口定义

      常量:

      接口中的属性是常量,即使定义时不添加

      public static final 修饰符,系统也会自动加上。

      方法:

      接口中的方法只能是抽象方法,总是使用,即使定义时不添加public abstract 修饰符,系统也会自动加上。

    4. 使用接口

      一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。

      继承父类实现接口的语法为:

      [修饰符] class 类名 extends 父类 implements 接口1,接口2...

      {

      类体部分// 如果继承了抽象类,需要实现继承的抽象方法;要实现接口中的抽象方法。

      }

      如果要继承父类,继承父类必须在实现接口之前。

      接口在使用过程当中,还经常与匿名内部类配合使用

      匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名称






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

    2018-08-22

  • 向上

    Dog dog=new Dog();

    Animal animal=dog;

    再向下

    Dog dog2=(Dog)animal;

    if(animal instanceof cat){

    Cat cat=(Cat)animal;}

    else{

    System.out.println("无法进行类型转换");}


    查看全部
  • 课后练习题

    查看全部
    0 采集 收起 来源:Java 中的多态

    2018-08-22

  • obj.getClass()与obj

    类对象与类的对象https://img1.sycdn.imooc.com//5b7d23b20001ab1605300465.jpg

    查看全部
  • 抽象类

    1. 语法定义

      抽象类前使用abstract关键字修饰,则该类为抽象类

    2. 应用场景

      1. 在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。

      2. 从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。

    3. 作用

      限制规定子类必须实现某些方法,但不关注实现细节

    4. 使用规则

      1. abstract定义抽象类

      2. abstract定义抽象方法,只有声明,不需要实现

      3. 包含抽象方法的类是抽象类

      4. 抽象类中可以包含普通的方法,也可以没有抽象方法

      5. 抽象类不能直接创建,可以定义引用变量




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

    如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量

    查看全部
  • 引用类型转换

    1. 向上类型转换(隐式/自动类型转),是小类型到大类型的转换

    2. 向下类型转换(强制类型转换), 是大类型到小类型

    3. instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题

      向上无风险

      向下有风险

    查看全部
  • 多态

    对象的多种形态

    1. 引用多态

      父类的引用可以指向本类的对象

      父类的引用可以指向子类的对象

    2. 方法多态

      创建本类对象时,调用的方法为本类方法

      创建子类对象时,调用的方法为子类重写的方法或者继承的方法

    查看全部
    0 采集 收起 来源:Java 中的多态

    2018-08-22

  • Object类

    2. equals()方法

        比较的是对象的引用是否只想同一块内存地址

        Dog dog=new Dog()

        一般情况下比较两个对象时比较他的值是否一致,所以要进行重写。


    查看全部

举报

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

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