静态函数

static修饰符

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-19 17:15:25
static修饰符 静态的,被static修饰的东西,就是静态的,那么就是属于类的(用类名.静态资源的形式来访问) 在类创建的时候被创建。 1.静态的东西属于类--》导致了 在静态方法中不能使用this关键字 非静态的东西属于对象 2.修饰成员变量:private static int age; 修饰成员方法:public static void 修饰代码块:static{} 类加载时,先执行静态代码块,再非静态,最后构造器。 3.静态代码块和非静态的区别: 静态代码块:在类加载的时候回调一次,只调用一次,(第一次加载类时,执行静态代码块,后续实例对象操纵静态资源,是同一个,且静态代码块不再被调用) 4.static变量和实例变量的区别: 1.)static变量属于类,为所有对象所共享,实例变量是属于对象,每个类的每个实例都有一份,互不干涉。 2)jvm在类加载时已经为static变量分配内存, 而实例变量是在类加载之后创建对象的时候分配内存 3)static变量存在方法区,实例变量存在堆区 4)static变量通过类名.方法名来调用,实例变量通过类名.方法名来调用 5.class Prople{ public static int age; } class T{ public static void main(String msg[]){ Prople p1 =new

java面向对象思想2

喜夏-厌秋 提交于 2019-12-19 13:11:35
1.主函数是一类特殊的函数,作为程序入口,可被虚拟机调用。主函数格式是固定的。 public:函数访问权限最大。 static:代表函数随着类的加载已经存在。 void:主函数没有具体返回值。 main:不是关键字,是一个特殊的单词,可被虚拟机识别。 (String[] arr):函数的参数,字符串元素的数组。arr可以改变。 虚拟机在调用主函数时,传入的是new String[0];没有元素。调用为:类.方法名(); 3.什么时候使用静态?静态随着类的加载而加载。 使用静态变量:对象中有共享数据时。该数据被静态修饰。特有数据被定义非静态存在堆内存中。 使用静态函数:【当功能内部没有访问到非静态数据(对象的特有数据),该功能可定义为静态的】 例如:public void show(){System.out.print("ok")};}可加static 4.静态的应用(工具类) 每一个应用程序都有共性的功能,可以将这些功能进行抽取,独立封装。 如果一个类中没有特有的数据,只有一些指定的方法,那么可以将该类的方法静态化。并且可以将构造私有化 使新建的对象只能通过类名访问,那么可以节省堆内存中的空间。 5.静态代码块: static{ 静态代码块执行的语句。 } 随着类的加载而【执行】,只执行一次。并优先于主函数、构造函数执行。 用于给类进行初始化。构造代码块给对象初始化

jdk8 特性

南楼画角 提交于 2019-12-18 23:19:18
一、十大特性。 1.Lambda表达式 2.Stream函数式操作流元素集合 3.接口新增:默认方法与静态方法 4.方法引用,与Lambda表达式联合使用 5.引入重复注解 6.类型注解 7.最新的Date/Time API (JSR 310) 8.新增base64加解密API 9.数组并行(parallel)操作 10.JVM的PermGen空间被移除:取代它的是Metaspace(JEP 122)元空间 junit测试 /** * * @ClassName:JDK8_features * @Description:JDK8新特性 * @author diandian.zhang * @date 2017年4月17日上午9:13:24 */ public class JDK8_features { public List<Integer> list = Lists.newArrayList(1,2,3,4,5,6,7,8,9,10); /** * 1.Lambda表达式 */ @Test public void testLambda(){ list.forEach(System.out::println); list.forEach(e -> System.out.println("方式二:"+e)); } /** * 2.Stream函数式操作流元素集合 */ @Test

jdk8--十大新特性

风流意气都作罢 提交于 2019-12-18 23:15:28
https://www.cnblogs.com/dennyzhangdd/p/6722445.html 一、十大特性 1.Lambda表达式 2.Stream函数式操作流元素集合 3.接口新增:默认方法与静态方法 4.方法引用,与Lambda表达式联合使用 5.引入重复注解 6.类型注解 7.最新的Date/Time API (JSR 310) 8.新增base64加解密API 9.数组并行(parallel)操作 10.JVM的PermGen空间被移除:取代它的是Metaspace(JEP 122)元空间 二、demo 1 /** 2 * 3 * @ClassName:JDK8_features 4 * @Description:JDK8新特性 5 * @author diandian.zhang 6 * @date 2017年4月17日上午9:13:24 7 */ 8 public class JDK8_features { 9 10 public List<Integer> list = Lists.newArrayList(1,2,3,4,5,6,7,8,9,10); 11 12 /** 13 * 1.Lambda表达式 14 */ 15 @Test 16 public void testLambda(){ 17 list.forEach(System.out:

静态变量static和全局变量global

冷暖自知 提交于 2019-12-18 15:59:50
静态变量static , 全局变量global 静态变量 在java也叫类变量从名字可以看出它是属于某个类的而不是类的实例。它的关键字是static存储在静态存储区,当程序执行,类的代码被加载到内存,类的静态变量就分配了内存空间,他是属于类的也就是没个实例对象都是对于以个静态变量,静态变量的内存空间知道程序退出才释放所占用的内存空间。静态变量直接通过类名访问(java 也能通过对象名访问)。 有人会分全局的静态变量、局部的静态变量;全局静态变量失去了“全局”的普遍含义,它的作用域限定在本文件里。而静态变量的声明是应该出现在类里不是类的函数里。 全局变量 关键字global也是静态存储方式,存储在静态存储区。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。 全局变量和静态变量的区别 : 全局变量在整个工程文件内都有效; 静态全局变量只在定义它的文件内有效 ; 静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失 ;局部变量在定义它的函数内有效,但是函数返回后失效。全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。 全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式 。 这两者在存储方式上并无不同。这两者的区别虽在于

Tornado模板

£可爱£侵袭症+ 提交于 2019-12-18 06:12:03
--------------------静态文件-------------------- 1、static_path:通过向web.Application类的构造函数传递一个名为static_path的参数来告诉Tornado从文件系统的一个特定位置提供静态文件 app = tornado.web.Application( [(r'/', IndexHandler)], static_path=os.path.join(os.path.dirname(__file__), "statics"), ) 2、对于静态文件目录的命名,为了便于部署,建议使用static 可以通过 http://127.0.0.1/static/html/index.html 来访问。而且在index.html中引用的静态资源文件,我们给定的路径也符合/static/...的格式,故页面可以正常浏览。 3、StaticFileHandler:可以通过tornado.web.StaticFileHandler来自由映射静态文件与其访问路径url。 1、tornado.web.StaticFileHandler是tornado预置的用来提供静态资源文件的handler。 2、 import os current_path = os.path.dirname(__file__) app = tornado.web

C 运行时库 /MT /MTD /MD /MDD

寵の児 提交于 2019-12-17 22:20:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 转自: http://blog.csdn.net/miyunhong/article/details/5309130 VC编译选项 多线程(/MT) 多线程调试(/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd) C 运行时库 库文件 Single thread(static link) ML libc.lib Debug single thread(static link) MLd libcd.lib MultiThread(static link) MT libcmt.lib Debug multiThread(static link) MTd libcmtd.lib MultiThread(dynamic link) MD msvert.lib Debug multiThread(dynamic link) MDd msvertd.lib 3. 各种 C 运行时库的区别 ( 1 )静态链接的单线程库 静态链接的单线程库只能用于单线程的应用程序, C 运行时库的目标代码最终被编译在应用程序的二进制文件中。通过 /ML 编译选项可以设置 Visual C++ 使用静态链接的单线 程库。 ( 2 )静态链接的多线程库 静态链接的多线程库的目标代码也最终被编译在应用程序的二进制文件中

java基础知识总结

谁说胖子不能爱 提交于 2019-12-17 11:57:15
java在安卓的开发中是非常重要的,所以今天我总结了一下java的基础知识,当然,还有一些没有总结完,例如网络编程,io流等,将会在下一篇博文中写出。 概述 javac :负责的是编译的部分 java :负责运行的部分.会启动 jvm.加载运行时所需的类库,并对 class 文件进行执行 语法规则 数据类型 1 1 ): 基本数据类型:byte(1个字节)、short(2)、int(4)、long(8)、float(4)、double(8)、char(2)、boolean。 1个字节占8位 2 2 ): 引用数据 类型: 数组、类、接口。 运算符 + - / % %:任何整数模 2 不是 0 就是 1,所以只要改变被模数就可以实现开关运算 &: 只有两边都为 true 结果是 true。否则就是 false。 |:只要两边都为 false 结果是 false,否则就是 true & 和 && 区别: & :无论左边结果是什么,右边都参与运算。 &&: 短路与,如果左边为 false,那么右边不参数与运算。 | 和 || 区别:|:两边都运算。 || : 短路或,如果左边为 true,那么右边不参与运算。 ++X(–X)表示在使用x之前,先使x的值增(减)1 语句 If switch do while while for 当判断固定个数的值的时候,建议使用 switch,效率相对较高

关于static 关键字的总结

谁都会走 提交于 2019-12-16 21:18:47
转发自:https://www.cnblogs.com/xrq730/p/4820992.html 前言 之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static。final和static一样,都是一个小问题可以看到一个人的基础是否扎实以及平时是否有钻研精神。 静态变量和静态方法 static关键字最基本的用法是: 1、被static修饰的变量属于类变量,可以通过 类名.变量名 直接引用,而不需要new出一个类来 2、被static修饰的方法属于类方法,可以通过 类名.方法名 直接引用,而不需要new出一个类来 被static修饰的变量、被static修饰的方法统一属于类的 静态资源,是类实例之间共享的,换言之,一处变、处处变 。JDK把不同的静态资源放在了不同的类中而不把所有静态资源放在一个类里面,很多人可能想当然认为当然要这么做,但是是否想过为什么要这么做呢?个人认为主要有三个好处: 1、不同的类有自己的静态资源,这可以实现静态资源分类。比如和数学相关的静态资源放在java.lang.Math中,和日历相关的静态资源放在java.util.Calendar中,这样就很清晰了 2、避免重名。不同的类之间有重名的静态变量名、静态方法名也是很正常的,如果所有的都放在一起不可避免的一个问题就是名字重复,这时候怎么办

六. python面向对象(内置函数)

拥有回忆 提交于 2019-12-16 17:24:14
一. 内置函数 1.@property(用于场景方法不要传递参数 且有return可以使用 就是普通函数) property 内置装饰器函数 只在面向对象中使用 函数的作用是在新式类中返回属性值。 from math import pi print(pi) class Circle: def __init__(self,r): self.r=r def per(self): # 周长 return 2*pi*self.r def aer(self): # 面积 return self.r**2*pi aa=Circle(3) print(aa.per()) print(aa.aer()) from math import pi # property() 函数的作用是在新式类中返回属性值。 把方法伪装成属性了 class Circle: def __init__(self, r): self.r = r @property # @property 把方法伪装成属性了 def per(self): # 周长 使用 @property 伪装成属性 不能单参数 return 2 * pi * self.r @property def aer(self): # 面积 return self.r ** 2 * pi aa = Circle(3) print(aa.per) #