类构造块

  在类只用一对大括号包含的内容,构造所有的对象时都会执行的内容,如果某个类有好几个够赞函数,公共部分抽取出来,放到构造块中。

 clas Boy
{
...
{
syso("哭...");
}
...
}

  主要作用:

  一个类可能重载了很多的构造函数,这时不同的构造函数有些内容是公共的,这时需要把公共的内容分离出来省的每个构造函数厘里面都写一遍,这时就可以使用类构造块。


this()

  这时一种在内部调用自己的空构造函数的做法。注意构造函数之间的相互调用必须放在构造函数里面的第一句话,否则就会报错。


static 顾名思义表示静态的意思

  static的特点

    1、随着类的加载而加载,随着类的消失而消失

    2、优先于对象的存在,静态先存在,对象后存在

    3、被所有实例对象所共享

    4、可以直接被类名调用

  static 静态变量和实例变量的区别

    1、存放的位置不同

      类变量随着类的加载而存在于方法

      实例变量随着对象的建立而存在于堆内存

    2.生命周期的不同

      类变量的生命周期最长,随着类的消失而消失

      实例变量的生命周期随着对象的消失而消失

    static的优缺点

        优点:对对象的共享数据进行单独空间的存储,节省空间

        缺点:生命周期过长,一直维护,访问出现局限性,静态只能访问静态

        什么时候定义静态变量:当对象中出现共享数据时

        什么时候定义静态方法:如果功能内部没有访问到非静态的数据(对象的特有数据,那么功能就可以定义为静态方法)


单例模式 顾名思义 应当只有这么一个实例对象

  所谓模式,一些人总结出来的用于解决特定问题的固定的解决方案。

  单例模式,解决一个类在内存中只存在一个对象的目的,保证对象的唯一性

  1、为了避免其他程序建立过多的该类对象,禁止其他程序建立该类对象

  2.为了其他方便其他程序的访问,在本类中自定义一个对象

  3 .为方便其他程序对自定义类对象的访问,对外提供一些访问方式.

  创建方法:

    1.将构造函数私有化。这样别人就不能创建该类的对象。

    2.在类中创建一个私有的本类对象。

    3、提供一个用类名调用的共有的方法来获取唯一的私有对象。

class Single

{

    private static Single s = new Single();//恶汉式

    private Single()

    {

    }

    public static Single getSingle()

    {

        eturn s;

    }

}

class Single

{

    private static Single s = null;//懒汉式

    private Single()

    {

    }

    public static Single getSingle()

    {

        if(s == null)
{
s = new SIngle(); return s; } }

  懒汉模式public static Single s; 这样做的意思是,你的这个单例类别人不一定使用,所以没必要提前定义,可能你定义了别人用不到。推荐使用恶汉单例模式。懒汉单例模式,可能会出现线程方面的问题。

(1) 类构造块,this(),static,单例模式串讲的更多相关文章

  1. 135、Java中的静态块,构造方法和构造块

    01.代码如下: package TIANPAN; class Book { static String msg; // static属性,暂不封装 public Book() { // 构造方法 S ...

  2. 134、Java中的构造方法和构造块

    01.代码如下: package TIANPAN; class Book { public Book() { // 构造方法 System.out.println("[A]Book类的构造方 ...

  3. angular2自学笔记(二)---路由、服务等八大主要构造块

    angular的思想:总是把数据访问工作委托给一个支持性服务类. Angular 应用的:用 Angular 扩展语法编写 HTML 模板, 用组件类管理这些模板,用服务添加应用逻辑, 用模块打包发布 ...

  4. 0607pm克隆&引用类&加载类&面向对象串讲&函数重载

    克隆class Ren{ public $name; public $sex; function __construct($n,$s) { $this->name=$n; $this->s ...

  5. Java中继承时静态块,构造块,构造函数的执行顺序

    public class Father { static { System.out.println("Father静态块"); } { System.out.println(&qu ...

  6. static 类成员变量 和 static const类成员变量

    1.使用static类的优点: (1)避免与其他类的成员或者全局变量冲突 (2)可以封装 (3)阅读性好 2.static 数据成员独立于该类的任意对象而存在 static数据成员的类型可以是该成员所 ...

  7. C++ 不能在类体外指定关键字static

    C++ static 函数的问题 近日读 C++ primer 中static 一章 , 有这么一句话, “静态成员函数的声明除了在类体中的函数声明前加上关键字static 以及不能声明为const  ...

  8. php笔记(二)PHP类和对象之Static静态关键字

      PHP类和对象之Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { pr ...

  9. C++ 类的继承五(类继承中的static关键字)

    //类继承中的static关键字 #include<iostream> using namespace std; /* 派生类中的静态成员 基类定义的静态成员,将被所有派生类共享 根据静态 ...

随机推荐

  1. 小学生之Hibernate插入数据修改数据使用数据库默认值的实现

    最近在写一个案例,定时任务对数据库进行更新操作,废话不多说,上代码: @Component("taskJob") public class TaskJob extends Hibe ...

  2. LinQ 创建连接、简单增删改查

    LINQ--语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操 ...

  3. C# 6 与 .NET Core 1.0 高级编程 - 37 章 ADO.NET

    译文,个人原创,转载请注明出处,有不对的地方欢迎指出与交流. 英文原文:Professional C# 6 and .NET Core 1.0 - 37 ADO.NET --------------- ...

  4. java_XML_STAX

    xml文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book ca ...

  5. 基于python的互联网软件测试开发(自动化测试)-全集合

    基于python的互联网软件测试开发(自动化测试)-全集合 1   关键字 为了便于搜索引擎收录本文,特别将本文的关键字给强调一下: python,互联网,自动化测试,测试开发,接口测试,服务测试,a ...

  6. 【小梅哥FPGA进阶教程】第九章 基于串口猎人软件的串口示波器

    九.基于串口猎人软件的串口示波器 1.实验介绍 本实验,为芯航线开发板的综合实验,该实验利用芯航线开发板上的ADC.独立按键.UART等外设,搭建了一个具备丰富功能的数据采集卡,芯航线开发板负责进行数 ...

  7. Linux文件权限及用户管理

    /etc/passwd文件与 /etc/shadow文件/etc/passwd文件/etc/passwd文件主要存放登录名.UID等用户相关信息,用户登录密码存放在/etc/shadow文件中.例子: ...

  8. SUI Mobile

    <header class="bar bar-nav"> <h1 class='title'>只有图标的表单</h1> </header& ...

  9. .Net程序员学用Oracle系列(17):数据库管理工具(SQL Plus)

    1.数据库管理工具概述 2.SQL Plus 实用命令参考 2.1.连接/断开命令 2.2.执行 SQL 语句 2.3.执行 PL/SQL 语句 2.4.文件操作命令 2.5.修改用户密码 2.6.执 ...

  10. C语言总结

    我们用了20天的时间左右的时间来学习简单的C语言,对于C语言,总体来说我是学的不是特别透彻,感觉自己什么都不懂一样.明天就要考试了,希望明天考个好成绩,为明年打下一个良好的基础. 这段时间我们学习了: ...