大数据学习2019.03.16

Java EE进阶——面向对象程序设计01

资料库的故事

package dome;

public class CD {
    private String title;
    private String artist;
    private int numOfTracks;
    private int playingTime;
    private boolean gotIt = false;
    private String comment;

    public CD(String title, String artist, int numOfTracks, int playingTime, String comment) {
        //super();
        this.title = title;
        this.artist = artist;
        this.numOfTracks = numOfTracks;
        this.playingTime = playingTime;
        this.comment = comment;
    }

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

    }
    public void print() {
        System.out.println(title+":"+artist);

    }

}

package dome;

public class DVD {

    private String title;
    private String director;
    private int playingTime;
    private boolean gotIt = false;
    private String comment;

    public void print() {
        System.out.println(title+":"+director);

    }

    public DVD(String title, String director, int playingTime, String comment) {
        super();
        this.title = title;
        this.director = director;
        this.playingTime = playingTime;
        this.comment = comment;
    }

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

    }

}

package dome;

import java.util.ArrayList;

public class DataBase {
    private ArrayList<CD> listCD  = new ArrayList<CD>();
    private ArrayList<DVD> listDVD  = new ArrayList<DVD>();
    public void add(CD cd) {
        listCD.add(cd);
    }
    public void add(DVD dvd) {
        listDVD.add(dvd);
    }
    public void list() {
        for(CD cd:listCD) {
            cd.print();
        }
        for(DVD dvd:listDVD) {
            dvd.print();
        }
    }
    public static void main(String[] args) {
        DataBase db = new DataBase();
        db.add(new CD("abc","abc",4,60,"............"));
        db.add(new CD("def","def",4,60,"............"));
        db.add(new DVD("hijk","hijk",30,"..........."));
        db.add(new DVD("lmno","lmno",30,"..........."));
        db.list();
    }
}

继承

子类父类关系

protected关键字 

package dome;

public class Item {
    protected String title;
    protected int playingTime;
    protected boolean gotIt = false;
    protected String comment;

//    public Item(String title, int playingTime,  String comment) {
//        super();
//        this.title = title;
//        this.playingTime = playingTime;
//        this.comment = comment;
//    }

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

    }

    public void print() {
        // TODO 自动生成的方法存根

    }

}

package dome;

public class CD extends Item{
    //private String title;
    private String artist;
    private int numOfTracks;
    //private int playingTime;
    //private boolean gotIt = false;
    //private String comment;

    public CD(String title, String artist, int numOfTracks, int playingTime, String comment) {
        //super();
        this.title = title;
        this.artist = artist;
        this.numOfTracks = numOfTracks;
        this.playingTime = playingTime;
        this.comment = comment;
    }

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

    }
    public void print() {
        System.out.println(title+":"+artist);

    }

}

package dome;

public class DVD extends Item{

    //private String title;
    private String director;
    //private int playingTime;
    //private boolean gotIt = false;
    //private String comment;

    public void print() {
        System.out.println(title+":"+director);

    }

    public DVD(String title, String director, int playingTime, String comment) {
        super();
        this.title = title;
        this.director = director;
        this.playingTime = playingTime;
        this.comment = comment;
    }

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

    }

}

package dome;

import java.util.ArrayList;

public class DataBase {
    //private ArrayList<CD> listCD  = new ArrayList<CD>();
    //private ArrayList<DVD> listDVD  = new ArrayList<DVD>();
    private ArrayList<Item> listItem  = new ArrayList<Item>();
//    public void add(CD cd) {
//        listCD.add(cd);
//    }
//    public void add(DVD dvd) {
//        listDVD.add(dvd);
//    }
    public void add(Item item) {
        listItem.add(item);
    }
//    public void list() {
//        for(CD cd:listCD) {
//            cd.print();
//        }
//        for(DVD dvd:listDVD) {
//            dvd.print();
//        }
//    }

    public void list() {
        for(Item item:listItem) {
            item.print();
        }
    }
    public static void main(String[] args) {
        DataBase db = new DataBase();
        db.add(new CD("abc","abc",4,60,"............"));
        db.add(new CD("def","def",4,60,"............"));
        db.add(new DVD("hijk","hijk",30,"..........."));
        db.add(new DVD("lmno","lmno",30,"..........."));
        db.list();
    }
}

多态变量

  • Java的对象变量是多态的,它们能保存不止一种类型;
  • 它们可以保存的是声明类型的对象,或声明类型的子类的对象;
  • 当把子类的对象赋给父类的变量的时候,就发生了向上造型。

子类和子类型

  • 类定义了类型
  • 子类定义了子类型
  • 子类的对象可以被当做父类的对象来使用
  • 赋值给父类的变量
  • 传递给需要父类对象的函数
  • 放进存放父类对象的容器里

向上造型

  • 子类的对象可以赋值给父类的变量。
  • 注意!Java中不存在对象对对象的赋值。
  • 父类对象不能赋值给子类的变量!
  • 拿一个子类的对象,当做父类的对象来用;
  • 向上造型是默认的,不需要运算符
  • 向上造型总是安全的

Vechicle v;

Car c = new Car();

v = c;  //可以

c = v;  //编译错误

可以用造型:

c = (Car)v;

(只有当v这个变量实际管理的是Car才行)

造型

  • 用括号围起类型放在值的前面
  • 对象本身并没有发生任何变化
  • 所以不是“类型转换”
  • 运行时有机制来检查这样的转化是否合理(不合理,会抛出ClassCastException异常)。

多态

函数调用的绑定

  • 当通过对象变量调用函数的时候,调用哪个函数这件事情叫做绑定;
  • 静态绑定:根据变量的声明类型来决定;
  • 动态绑定:根据变量的动态类型来决定;
  • 在成员函数中调用其他成员函数也是通过this这个对象变量来调用的。

覆盖(override)

  • 子类和父类中存在名称相同和参数列表完全相同的函数,这一对函数构成覆盖关系;
  • 通过父类的变量调用存在覆盖关系的函数时,会调用变量当时管理的对象所属的类的函数。

Object类

所有的类都是继承自Object的。

Object类的函数

  • toString()
  • equals()

 

原文地址:https://www.cnblogs.com/homelessdog/p/10544523.html

时间: 2024-10-28 15:04:54

大数据学习2019.03.16的相关文章

大数据学习2019.03.19

Java基础语法 1.Random(随机数) 作用:产生一个随机数: 使用步骤: 导包:import java.util.Random; 创建对象:Random r = new Random(); 获取随机数:int num = r.nextInt(10); 产生的数据在0到10之间,包括0,不包括10. 产生的数据取决于传入的参数. package test01; import java.util.Random; public class RandomDemo { public static

大数据学习2019.03.13

Java SE 基础语法 Tips for loops 如果有固定次数,用for: 如果必须执行一次,用do...while; 其他情况用while. 复合赋值运算符 a = a + 6 a += 6 a = a - 6 a -= 6 a = a * 6 a *= 6 a = a / 6 a /= 6 a++,++a a = a + 1 a--,--a a = a-1 package test01; public class Test19 { public static void main(St

大数据学习2019.03.20

Java常用API API(Application Programming Interface)应用程序接口 原文地址:https://www.cnblogs.com/homelessdog/p/10562247.html

2019大数据学习方向【最新分享】

一.大数据运维之Linux基础打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,openstack等.因为企业中的项目基本上都是使用Linux环境下搭建或部署的. 1)Linux系统概述2)系统安装及相关配置?3)Linux网络基础?4)OpenSSH实现网络安全连接?5)vi文本编辑器 6)用户和用户组管理7)磁盘管理?8)Linux文件和目录管理?9)Linux终端常用命令?10)linux系统监测与维护 二.大数据开发核心技术 -

2019大数据学习路线指南(最全知识点总结)

大数据是对海量数据进行存储.计算.统计.分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的数据,这是传统数据处理手段所无法完成的,其涉及的技术有分布式计算.高并发处理.高可用处理.集群.实时性计算等,汇集了当前IT领域热门流行的IT技术.在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级

你如何制定一份可实施的2019年大数据学习计划?

那么如何才能制定出一份可行性强的大数据学习计划呢? 我们可以从以下几个方面去制定. 一.目标 首先你需要制定一个明确的你想要实现的长远的目标.比如,半年内学习相关课程,初步掌握大数据基础知识:比如,一年内熟悉并能在实际项目中应用:再比如,1年内达到市面上对大数据分析师的基本要求,成功找到一份大数据分析师的工作. 在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相

大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了... 整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多.在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来.于是就有了本篇博文. 其实我在搭

大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集

引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了... 整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多.在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来.于是就有了本篇博文. 其实我在搭

2018大数据学习路线从入门到精通

最近很多人问小编现在学习大数据这么多,他们都是如何学习的呢.很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么?今天小编特意为大家整理了一份大数据从入门到精通的学习路线.并且附带学习资料和视频.希望能够帮助到大家.大数据学习资料分享群:119599574 第一阶段:Linux理论 (1)Linux基础:(2)Linux-shell编程:(3)高并发:lvs负载均衡:(4)高可用&反向代理 第二阶段:Hadoop理论 (1)hadoop-