静态函数

Java面向对象大致梳理

别说谁变了你拦得住时间么 提交于 2020-02-20 13:01:03
面向对象思想、 面向对象思想概述: Java设计语言面向对象: Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 类和对象: 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物 属性:就是该事物的状态信息。 行为:就是该事物能够做什么。 对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性 和行为。 类与对象的关系 : 类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体。 面向对象之封装: 概述: 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的 方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。

java笔记3(动手动脑)

一曲冷凌霜 提交于 2020-02-20 07:07:09
1.以下代码为何无法通过编译?哪儿出错了? 原因:已有的Foo()是带一个int型参数的构造方法,不存在无参的构造方法Foo() "构造方法" 当创建一个对象时,它的构造方法会被自动调用。构造方法与类名相同,没有返回值 ,它的作用是对类进行初始化, 如果类没有定义构造函数,Java编译器在编译时会自动给它提供一个没有参数的“默认构造方法” 但是如果已经有了一个有参数的构造方法,,即重写了构造方法,那么原来的默认的无参构造方法会被重写的构造方法所覆盖 2.根据下列代码的输出结果,总结java 字段初始化的规律 1 /** 2 * 3 */ 4 5 /** 6 * @author 信1605-3 20163471 吴鑫 7 * 8 */ 9 class InitializeBlockClass { 10 { 11 field=200; 12 } 13 public int field=100; 14 public InitializeBlockClass(int value) { 15 // TODO 自动生成的构造函数存根 16 this.field=value; 17 } 18 public InitializeBlockClass(){ 19 } 20 /** 21 * @param args 22 */ 23 public static void main(String[]

2019PHP面试题最全面归纳总结

℡╲_俬逩灬. 提交于 2020-02-17 06:49:46
1、请选择以下代码运行的结果: <?php if ('1e3' == '1000') echo 'LOL'; ?>   A 无任何输出结果      B LOL       C 不执行且报错 解析:1e3 是 科学计数法 实数的指数形式 为1乘以10的三次方,故‘1e3’=='1000'是成立的,输出echo ‘LOL’; 2、请选出以下代码运行的结果: <?php $a = "aabbzz"; $a++; echo $a; ?>   A b            B aabbzz            C aabcaa 解析: 字符串字母相加其实就是在末尾字母加一 如:$a = "a"; $a++;答应结果就是 b,$a=''aa';结果就是ab 故$a = "aabb";打印结果就是 aabc ,如$a = "aabbz";结果就是 aabca,因为Z是末尾字母故加一变为a,向前一位进一,b就变为c,故结果为C; 3,写出一下程序的输出结果:<?php   $data = ['a','b','c']; foreach($data as $k=>$v){ $v = &$data[$k]; } > A $data = ['a','b','c'];            B $data = ['b','b','c'];            C $data = ['b','c','c

构造代码块,静态代码块

佐手、 提交于 2020-02-16 14:40:53
代码块的分类 构造代码块 直接定义在中并且前面没有static关键字的代码块,不能定义在成员方法中。每次创建实例化对象的过程中都会调用构造代码块块,且构造代码块的在构造函数之前被调用。 静态代码块 在Java中用static修饰的代码块,静态代码块随着类的加载而执行,且静态代码块一定在主函数main之前执行。如果函数之中有多个静态代码块,则先定义的先执行,后定义的后执行 图片中,我们可以看到在Demo3中的main之后我们定义了一个stati修饰的代码块,程序执行时,static中的输出内容却在主函数里面的类对象创建之前执行。 相关解析 在上面的代码中,我们可以看到,在类Demo3中 ,我们分别定义了 static Demo3 demo1 = new Demo3(); static Demo3 demo2 = new Demo3(); 接着是构造代码块 { System.out.println(“构造代码块”); // 1 } 然后是静态代码块 static { System.out.println(“静态代码块”); // 2 } 接着是无参构造方法 public Demo3() { System.out.println(“构造方法”); // 3 } 程序的执行过程是先执行 static Demo3 demo1 = new Demo3(); static Demo3 demo2

Java 内部类

…衆ロ難τιáo~ 提交于 2020-02-15 14:52:07
内部类Inner Class   将相关的类组织在一起,从而降低了命名空间的混乱。   一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分。    Java中的内部类共分为四种 :    静态内部类static inner class (also called nested class)    成员内部类member inner class    局部内部类local inner class    匿名内部类anonymous inner class 静态内部类Static Inner Class   最简单的内部类形式。   类定义时加上 static 关键字。   不能和外部类有相同的名字。   被编译成一个完全独立的.class文件,名称为OuterClass$InnerClass.class的形式。    只可以访问外部类的静态成员和静态方法 ,包括了私有的静态成员和方法。   生成静态内部类对象的方式为:    OuterClass.InnerClass inner = new OuterClass.InnerClass();   静态内部类使用代码: 静态内部类使用测试 package com.learnjava.innerclass; class StaticInner { private static int a = 4; //

【Distributed】CDN

心已入冬 提交于 2020-02-13 13:00:39
一、概述 1.1 Web前端优化 1.2 DNS域名解析过程 1.3 传统方式请求静态资源 二、CDN内容分发 2.1 什么是CDN 2.2 CDN内容分发原理 2.3 阿里云环境实战搭建CDN内容分发 一、概述 1.1 Web前端优化 网站动静分离动静分离动态的资源和静态资源分别部署到不同的服务器上,使用Nginx实现静态服务器,因为nginx实现静态服务器访问速度的效果比tomcat实现静态服务器访问效果好很多。 要使用浏览器缓存,客户端(浏览器)内置缓存技术,只要访问一次静态资源请求,都会缓存到本地客户端,304状态码表示客户端缓存一般服务器上线的时候一定要在静态js、css资源后面加上时间戳,目的是为了防止发布版本与资源有冲突。 页面减少Http请求合并CSS或者JS资源,JS或者CSS一定使用压缩技术。 压缩文件变为.min 使用CDN内容分发,缓存静态资源(JS、 图片、CS),让用户从最近的服务器访问,减少客户端与服务器端宽带传输速度。使用CDN可以配置压缩。nginx也可以配置。 前后分离技术。异步化、ajax、 vue 1.2 DNS域名解析过程 DNS即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的ip地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的

开启PHP的伪静态

会有一股神秘感。 提交于 2020-02-13 05:34:09
1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有 apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。 如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文 件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。 如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。 2.在httpd.conf中配置虚拟主机 # Virtual hosts 启用虚拟主机 Include conf/extra/httpd-vhosts.conf 3.httpd_vhosts.conf文件中,配置相应的选项.详细讲解 <VirtualHost *:80> DocumentRoot "C:/myenv/apache/htdocs/static3" ServerName www.hsp.com <Directory "C:

POD C++

冷暖自知 提交于 2020-02-12 13:20:04
Plain Old Data https://zh.cppreference.com/w/cpp/named_req/PODType 简言之,针对POD对象,其二进制内容是可以随便复制的,在任何地方,只要其二进制内容在,就能还原出正确无误的POD对象。对于任何POD对象,都可以使用memset()函数或者其他类似的内存初始化函数。 这表示该类型与用于 C 程序语言的类型兼容,即能直接以其二进制形式与 C 库交互。 注意:标准中并没有定义具有这个名字的具名要求。这是核心语言所定义的一种类型类别。将它作为具名要求包含于此只是为了保持一致性。 此类型要求在 C++ 标准中已弃用。其所有使用都已被替换成更为斟酌过的类型要求,例如 平凡类型 (TrivialType) 。 (C++20 起) 要求 以下之一: 标量类型 ; 满足下列要求的类类型( class 或 struct 或 union): 聚合类型 ; 没有非 POD 的非静态成员; 没有引用类型的成员; 没有用户定义的复制构造函数; 没有用户定义的析构函数 (C++11 前) 为 平凡类型 ; 为 标准布局类型 ; 没有非 POD 的非静态成员; (C++11 起) 这种类型的数组 ----------------------------------------------------------------------------

Java学习笔记(三)面向对象---Static关键词

China☆狼群 提交于 2020-02-12 00:55:15
内容 静态:Static 用法 Static是一个修饰符,用于修饰成员(成员变量,成员函数),当成员被静态修饰后,除了可以被对象调用外,还可以直接被类名调用。 举例 class Person { String name; //成员变量,实例变量 static String country = "CN"; //静态的成员变量,类变量 } public class StaticDemo { public static void main(String[] args) { Person p = new Person(); System.out.println(p.country); //使用对象调用 System.out.println(Person.country);//直接使用类名调用 } } 运行结果: CN CN 特点 Static关键词所修饰的成员随着类的加载而加载(随着类的消失而消失),也就是说静态变量不需要依靠创建对象而存在在内存中,所以它的生命周期最长 优先于对象存在 (静态是先存在的,对象是后存在的) 被所有对象所共享 可以直接被类名所调用 实例变量和类变量的区别 存放位置 类变量随着类的加载而存在于方法区中。 实例变量随着对象的建立而存在于堆内存中。 生命周期 类变量生命周期最长,随着类的消失而消失。 实例变量的生命周期取决于对象的建立和消失。 静态使用注意事项

C++学习笔记7

瘦欲@ 提交于 2020-02-11 15:56:10
目录 六、动态联编与虚函数 1、联编的概念 2、静态联编 3、动态联编 4、虚函数 5、虚析构函数 6、纯虚函数和抽象类 六、动态联编与虚函数 1、联编的概念 联编是指一个计算机程序自身彼此关联(使一个源程序经过编译、 连接, 成为一个可执行程序) 的过程, 在这个联编过程中, 需要确定程序中的操作调用(函数调用) 与执行该操作(函数) 的代码段之间的映射关系, 按照联编所进行的阶段不同, 可分为静态联编和动态联编。 2、静态联编 静态联编又称静态束定、 早期联编、 前期联编。 静态联编是指联编工作是在程序编译链接阶段进行的, 静态联编又称早期联编, 因为这种联编是在程序开始运行之前完成的。 在程序编译阶段进行的这种联编又称静态束定, 在编译时就解决了程序中的操作调用与执行该操作代码间的关系, 确定这种关系又被称为束定, 编译时束定又称为静态束定。 静态联编就是, 编译器在程序运行前就知道调用什么函数做什么事 。 静态联编特点: 速度快效率高 。 3、动态联编 动态联编又称动态关联、 动态束定、 后期联编、 晚期联编。 动态联编是指编译程序在编译阶段并不能确切地知道将要调用的函数, 只有在程序执行时才能确定将要调用的函数, 为此要确切地知道将要调用的函数,要求联编工作在程序运行时进行, 这种在程序运行时进行的联编工作被称为动态联编。 C++规定: 动态联编是在 虚函数