《Java面向对象编程》

第11章 对象的生命周期

11.1  创建对象的方式

  1. 用new语句创建对象
  2. 运用反射手段,调用java.lang.Class 或者 java.lang.Constructor 类的newInstance()实例方法。
  3. 调用对象的clone()方法。
  4. 运用反序列化手段

11.2 构造方法

  在多数情况下,初始化对象的最终步骤是去调用这个对象的构造方法。构造方法负责对象的初始化工作,为实例变量赋予合适的初始化值。

  构造方法满足的语法规则:

  • 方法名必须与类名相同

     public class Sample{
    private int x;
    public Sample(){ //不带参数的构造方法
    this(1);
    }
    public Sample(int x){ //带参数的构造方法
    this.x = x;
    } public int Sample(int x ){ //不是构造方法
    return x++;
    } }
  • 不要声明返回类型
  • 不能被static,final,synchronized,abstract和native修饰

   构造方法不能被子类继承,所以用final和abstract修饰没有意义。

   构造方法用于初始化一个新建的对象,所以用static修饰没有意义。

   多个线程不会不会同时创建内存地址相同的同一个对象,因此用synchronized修饰没有意义。

   此外,java语言不支持native类型的构造方法。

第15章  Java集合

  Java数组的长度是固定的,在同一个数组中只能存放相同类型的数据。数组可以存放基本类型的数据,也可以存放引用类型的数据。在创建数组时,必须指明数组的长度,数组一旦被创建,其长度就不能被改变。在许多应用场合,一组数据的数目是不固定的,比如一个单位的员工数目是变化的,有老员工个跳槽,也有新员工的加入。

  为了使程序能方便的存储和操纵数目不固定的一组数据,JDK类库提供了Java集合,所有Java集合类都位于java,util包中。与Java数组不同,Java集合中不能存放基本数据类型,而只能存放对象的引用。为了便利:“集合中对象的引用”简称为“集合中的对象”

Java中的集合主要分为4种类型:

  • set(集):集合中的对象不按特定方式排序,并且没有重复的对象。它的有些实现类能对集合中的对象按特定方式排序。
  • List(列表):集合中的对象按照索引位置排序,可以有重复的对象,允许按照对象在集合中的索引位置检索对象。List与数组有些相似。
  • Queue(队列):集合中的对象按照先进先出的规则来排列。在队列的末尾添加元素,在队列的头部删除元素。可以有重复的对象。双向队列则允许在队列的末尾和头部添加和删除元素。
  • Map(映射):集合中的每一个元素包含一对键(Key)对象和值(Value)对想,集合中没有重复的键对象,值对象可以重复。它的有些实现类能对集合中的键对象进行排序。

Java集合的4种类型

												

《Java面向对象编程》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. 把查询的数据导出到elsx表 关于流的概念

    1.获取到需要导出的数据   因为这个对象是PagedResulDto类型的   所以封装成Table的时候  传pageList.Items就可以了 PagedResultDto<Search ...

  2. List、Map、Set的区别与联系

    重复和有序 List 存储的元素是有顺序的,并且值允许重复: Map 元素按键值对存储,无放入顺序 ,它的键是不允许重复的,但是值是允许重复的: Set 存储的元素是无顺序的,并且不允许重复,元素虽然 ...

  3. leecode第八十八题(合并两个有序数组)

    class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums ...

  4. 学习笔记19—dpabi错误集

    1.回归斜边量的时候千万不要用红色标记的地方,而要用紫色标记的地方

  5. Visual Studio常用设置

    ●Visual Studio 2008以后,修改代码中大括号的颜色:Tools-->Environment-->Fonts and Colors-->右边[Display items ...

  6. Nginx自学笔记

    Nginx相关 标签(空格分隔): nginx 享学 安装部署 通过源代码的方式安装 使用 ./sbin/nginx #启动 ./sbin/nginx -t #检查是否有错 ./sbin/nginx ...

  7. 对nginx进行平滑升级

    1.查看服务器当前nginx版本 [root@instance-hwl9ix5l licenses]# nginx -v           #查看版本 nginx: nginx version: n ...

  8. 在shell终端操作oracle数据库的常用命令

    这里面是在一个项目中用到的操作oracle数据库的常用linux命令,因为当时无法用plsql远程连接,大部分操作都需要在命令行窗口进行,总结一下 第一种方式 (1)先切换至sqlplus [orac ...

  9. css趣味案例:画三角形

    代码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&q ...

  10. 图片路径转base64字节码

    package product; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOE ...