静态函数

2019.8.12总结

眉间皱痕 提交于 2019-11-27 03:43:47
2019.8.12 总结 类与类的关系:可以单继承不能多继承 类与接口的关系:可以实现多个接口 接口与接口之间的关系:只可以单继承,不可以多继承 抽象类与接口的关系 :抽象类:是最原始的状态 接口:就是定义了一些约束 内部类 可以将一个类的定义放在里另一个类的内部,这就是内部类。广义上我们将内部类分为四种:成员内部类、静态内部类、局部(方法)内部类、匿名内部类。 静态内部类 外部类可以通过创建静态内部类实例的方法来调用静态内部类的非静态属性和方法 外部类可以直接通过“ 外部类.内部类.属性(方法)” 的方式直接调用静态内部类中的静态属性和方法 静态内部类如果要访问外部的成员变量或者成员方法,那么必须是静态的 静态内部类可以直接调用外部类的静态属性和方法 静态内部类可以通过创建外部类实例的方法调用外部类的非静态属性和方法 在非外部类中:外部类名.内部类名 name = new 外部类名.内部类名(); 在外部类中:内部类名 name = new 内部类名(); 成员内部类 即在一个类中直接定义的内部类,成员内部类与普通类的成员没什么区别,可以与普通成员一样进行修饰和限制。成员内部类不能含有static的变量和方法。 局部内部类 在方法中定义的内部类称为局部内部类。与局部变量类似,局部内部类不能有访问说明符,因为它不是外围类的一部分,但是它可以访问当前代码块内的常量

类常量

◇◆丶佛笑我妖孽 提交于 2019-11-27 01:58:02
Define :定义常量 Static :静态常量 Static 关键字来定义静态方法和属性(可以访问两大类,一类是类的行为,另一类是类的行为), static 放置于内存中的静态区域中,在静态区域中,不需要实例化对象。 在内部访问的方式是: self ::静态资源方法(在类的内部函数中访问变量 $this 不可用,但是在类的外部访问变量 $this 可用) 在外部访问的方式是:使用类名 + 范围解析操作符 (::)+ 静态函数方法名 非静态的函数可以直接调用静态函数,在静态函数中伪变量 $this 不可用 Const :访问类里面的常量,在类里面,一些不会去改变的数字,分为在类内部和外部访问两种方式 来源: http://www.cnblogs.com/123456xfxf/p/7218704.html

C#经典面试题及答案

一个人想着一个人 提交于 2019-11-27 01:55:47
1:委托和事件 // 事件类 public class EventClass { public void display( object sender, System.EventArgs e) { Console.WriteLine( " This is the Event Class " ); Console.ReadLine(); } } // 调用类 class InvokeClass { // 声明代理对象,注意参数 public delegate void delegateobj( object sender, System.EventArgs e); // 声明事件对象 private event delegateobj obj; // 声明要调用的事件类对象 private EventClass ec; public InvokeClass() { ec = new EventClass(); // 添加事件对象到事件队列中,参数为要调用的事件 this .obj += new delegateobj(ec.display); } // 调用delegate对象触发事件 protected void OnObj(System.EventArgs e) { if ( this .obj != null ) { obj( this , e); } } public

学习Java第六周

拟墨画扇 提交于 2019-11-26 22:21:42
1.内存结构 Java程序在运行时,需要在内存中的分配空间为提高运算效率,空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。 栈内存 ·用于存储局部变量,当数据使用完,所占空间会自动释放, 堆内存 ·数组和对象,通过Bw建立的实例都存放在堆内存中, ·每一个实体都有内存地址 ·实体中的变量都有默认初始化值 ·实体不在被使用,会在不确定的时间内被垃圾回收器回收 浙法区心本执者法区。害在料 2.成员变量和局部变量 作用范图 成员变量作用于整个类中。 周部变量变量作用于函数中,或者语句中。 在内存中的位置: 成员变量:在堆内存中,因为对象的存在,才在内存中存在, 局部变量:存在栈内存中。 3.匿名对象 匿名对象是对象的简化形式 匿名对象两种使用情况 ·当对对象方法仅进行一次调用的时 ·匿名对象可以作为实际参数进行传递 4.静态:static 用法:是一个修饰符,用于修饰成员(成员变量,成员函数) 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用 Static特点: 1,随着类的加载而加载, 也就说:静态会随着类的消失而消失,说明它的生命周期最长 2,优先于对象存在 3,被所有对象所共享 4,可以直接被类名所调用 实例变量和类变量的区别: 1,存放位置 类变量随着类的加载而存在于方法区中, 实例变量随着对象的建立而存在于堆内存中

Java学习历程十《多态,接口,内部类》

馋奶兔 提交于 2019-11-26 21:59:09
文章目录 Java的多态 向上转型 向下转型 抽象类 问题 接口 interface 内部类 成员内部类<普通内部类> 静态内部类 方法内部类 匿名内部类 Java的多态 多种形态,同一种方式在不同的场景中得到不同的结果. 编译时多态[少部分] 通过方法的重载实现 运行时多态[大部分] 决定了调用哪个类里边定义的方法 多态的必要条件: 满足继承关系 父类应用执行子类对象 设计: Animal: name month eat() getName() getMonth() getWeight() Cat: -> Animal weight eat() run() Cat() Dog: -> Animal sex eat() sleep() Dog() 向上转型 Animal package com . animal ; public class Animal { private String name ; private int month ; public Animal ( ) { } public Animal ( String name , int month ) { this . setName ( name ) ; this . setMonth ( month ) ; } public String getName ( ) { return name ; } public

真正理解ASP.NET的ViewState (Truly Understanding ViewState)

假如想象 提交于 2019-11-26 19:22:24
作者:Infinities Loop 概述 ViewState是一个被误解很深的动物了。我希望通过此 文章来澄清人们对ViewState的一些错误认识。为了达到这个目的,我决定从头到尾详细的描述一下整个ViewState的工作机制,其中我会同时用 一些例子说明我文章中的观点,结论。比如我会用静态控件(declared controls)和动态控件(dynamic controls)两个方面来说明同一个问题。 现在有关ViewState的文章可谓多如牛毛,你可能会说 再写有关ViewState的文章无异于炒剩饭(我这篇文章便是:D)。但是我却不这么认为,如果把ViewState看成一匹野马的话,那么这匹野马并 没有死去,它还活跃的很,说不定这个时候它正在你的客厅里撒野呢。所以我们有必要再次去把它击倒。不过你也不需要担心,从这篇文章你可以发现其实这匹马也 没有那么坏。 我的意思并不是否然目前还没有好好说明ViewState的 文章,只是我总觉得好像这些文章都缺少一些东西,而这些缺少的东西往往就会导致人们对ViewState的困惑。比如:理解ViewState是怎样跟踪 那些已经出现变化的数据(dirty data)就非常重要,但是很多文章却没有过多的涉及,或者即便涉及了可能其中却包含了错误的信息。比如这篇文章( W3Schools ) 中就说页面回传的值也是保存在ViewState中的

C++静态成员函数小结 【转】

六眼飞鱼酱① 提交于 2019-11-26 18:31:56
原文:http://www.cnblogs.com/lzjsky/archive/2011/01/24/1943199.html 类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点: 1.静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。 其定义方式与全局变量相同。举例如下: xxx.h文件 class base{ private: static const int _i;//声明,标准c++支持有序类型在类体中初始化,但vc6不支持。 }; xxx.cpp文件 const int base::_i=10;//定义(初始化)时不受private和protected访问限制. 注:不要试图在头文件中定义(初始化)静态数据成员。在大多数的情况下,这样做会引起重复定义这样的错误。即使加上#ifndef #define #endif或者#pragma once也不行。 2

C++中内存分配详解

余生颓废 提交于 2019-11-26 17:38:58
转载自51CTO.com http://developer.51cto.com/art/201107/276154.htm 我们都知道,内存基本上分为静态存储区、堆区和栈区三大部分。本文介绍的是C++中的内存分配的问题,希望对你有帮助,一起来看。 程序运行时,特别要注意的是内存的分配。下面介绍 C++ 程序设计中的 内存分配 。 一、内存基本构成 可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆区:亦称动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决定,如果我们不释放内存,程序将在最后才释放掉动态内存。 但是,良好的编程习惯是:如果某动态内存不再使用,需要将其释放掉,否则,我们认为发生了内存泄漏现象。 二、三者之间的区别 我们通过代码段来看看对这样的三部分内存需要怎样的操作和不同,以及应该注意怎样的地方。 例一

C++中内存分配详解

房东的猫 提交于 2019-11-26 17:38:45
转载自51CTO.com http://developer.51cto.com/art/201107/276154.htm 我们都知道,内存基本上分为静态存储区、堆区和栈区三大部分。本文介绍的是C++中的内存分配的问题,希望对你有帮助,一起来看。 程序运行时,特别要注意的是内存的分配。下面介绍 C++ 程序设计中的 内存分配 。 一、内存基本构成 可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆区:亦称动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决定,如果我们不释放内存,程序将在最后才释放掉动态内存。 但是,良好的编程习惯是:如果某动态内存不再使用,需要将其释放掉,否则,我们认为发生了内存泄漏现象。 二、三者之间的区别 我们通过代码段来看看对这样的三部分内存需要怎样的操作和不同,以及应该注意怎样的地方。 例一

3.(基础)tornado的接口调用顺序与模板

不问归期 提交于 2019-11-26 16:37:21
上一节介绍了tornado的请求与响应,这一节介绍tornado的接口调用顺序和模板 首先都有哪些接口呢?作用是什么呢?并且都有的时候,执行顺序是怎么样的呢? 接口 1.initialize ,表示初始化,会在执行http方法之前调用 2.prepare ,预处理,会在执行http方法之前调用,任何一种http请求都会执行预处理方法 3.http方法 : get,get请求   post,post请求   head,类似get请求,只不过响应中没有具体内容,只获取报头   delete,请求服务器删除指定的资源   put,从客户端向服务端传送指定内容   patch,修改局部内容   options,返回url支持的所有http方法 4.set_default_headers ,设置请求头 5.write_error ,处理self.send_error 6.on_finish ,在请求处理结束之后调用,用于对资源的清理和释放,或者日志处理。并且尽量不要在该方法中响应输出 调用顺序 正常执行未抛出错误时,执行顺序从上到下为: set_default_headers initialize prepare http方法 on_finish 抛出错误时,执行顺序从上到下为: set_default_headers initialize prepare http方法 set