静态方法

Java 简单笔记——代码块

北慕城南 提交于 2020-03-03 01:16:42
代码块 代码块是一个比较简单的概念,因为这里涉及到static所修饰,所以在这里写一篇为了以后的说明; 概念 代码块:声明在类中,被一对“{}”所括起来,里面多为属性赋值的语句; class sing { private int a ; private int b ; //代码块 { a = 3 ; b = 4 ; } 看起来很简单对不对?其实这个东西很好玩; 首先,先说明一件事—— Java中关于赋值的操作 的顺序 1.初始化的默认值——>2.显示的初始化或代码块(他们按照顺序进行)——>3.构造器——>4.通过方法对对象的属性进行修改。 然后,将代码块分成2类:静态代码块和非静态代码块; 1.非静态的代码块 1.可以对类的属性(静态和非静态)进行初始化操作,同时也可以调用本类中所声明的方法(静态和非静态); 2.里面可以有输出语句; 3.一个类中可以有多个代码块,按照顺序执行; 4.对于非静态的代码块,类每创建一个对象代码就执行一次; 5.非静态的代码块执行早于构造器。 简单代码: public class Main { public static void main ( String [ ] args ) { sing a = new sing ( ) ; sing b = new sing ( ) ; } } class sing { private static int

(代码块;继承;this与super关系;继承关系中构造方法和成员方法的关系;重载与重写对比;类的继承特点;final关键字;)Java零基础学习笔记 Day08

旧时模样 提交于 2020-03-02 14:33:13
一,代码块 概述:被大阔号单独包裹的代码段叫做代码块 ​根据位置的不同,命名的不同他的使用时机和功能不一样。 分类: ​ 局部代码块 ​ 构造代码块 ​ 静态代码块 ​ 同步代码块【今天不讲,多线程的时候讲】 局部代码块 ​ 概述:定义在方法中的代码块 ​ 位置:方法的方法体中 ​ 作用:给局部变量赋值,或者定义局部变量 代码 package com.ujiuye.demo; import java.util.Arrays; public class Demo01 { public static void main(String[] args) { Demo01 demo01 = new Demo01(); demo01.show(); } public void show() { int a = 10 ;//局部变量 //局部代码块 { a = 30 ; int b = 40;//局部变量 System.out.println(a);//30 10 System.out.println(b);//40 } System.out.println(a);//30 代码块对外面的局部变量的赋值是永久的 //System.out.println(b);输出不了 b变量的生存范围变小了 } } 总结: 好处:缩小了局部变量的使用范围和生命周期,及时的释放内存空间达到提升运行效率。 注意:

Java 静态域、 构造块、构造方法的执行顺序

假装没事ソ 提交于 2020-03-02 14:03:38
主动学习给你带来的进步绝对让你很惊讶。 用最简单的语言阐述最深刻的知识,纯属个人总结,有所借鉴。 构造方法 与类同名且没有返回类型。对象创建通过构造方法完成,功能是完成对象的初始化,构造方法可以重载。 构造块 构造块给类进行初始作用,符号{} 只能用static修饰,加上static后就成为了静态块,只能初始化静态成员变量。 静态域 静态变量、静态方法、静态块,执行静态域时,按照顺序加载 关系 new对象时 先执行 构造 块, 再 执行构造方法 ,每new一个对象都执行一次。 静态域随类的加载执行,不管new了几个对象,静态域都只执行一次。 执行顺序 静态 域( 静态变量 > 静态方法 > 静态块 ) > 构造 块 > 构造方法 一个简单的程序验证: 我们来看一下运行结果: 寒江孤影,江湖故人,相逢何必曾相识。 来源: CSDN 作者: 你们不可弃 链接: https://blog.csdn.net/weixin_42183330/article/details/104607480

SpringBoot访问静态资源和配置springMVC拦截器

时光总嘲笑我的痴心妄想 提交于 2020-03-02 13:21:11
现在,我们的项目是一个jar工程,那么就没有webapp,我们的静态资源该放哪里呢? 默认的静态资源路径为:   - classpath:/META-INF/resources/   - classpath:/resources/   - classpath:/static/   - classpath:/public/   只要静态资源放在这些目录中任何一个,SpringMVC都会帮我们处理。 添加拦截器:拦截器也是我们经常需要使用的,在SpringBoot中该如何配置呢?   通过实现`WebMvcConfigurer`并添加`@Configuration`注解来实现自定义部分SpringMvc配置。   首先我们定义一个拦截器: @Component public class MyInterceptor implements HandlerInterceptor {   @Override   public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {     System.out.println("preHandle method is running!");     return true;   }

Python__面向对象

丶灬走出姿态 提交于 2020-03-02 13:05:44
1、面向对象的基本知识 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数 面向对象三大特性:封装、继承和多态 2、类的成员 类的成员可以分为三大类:字段、方法和属性:         1、字段:普通字段、静态字段;         2、方法:普通方法、类方法、静态方法;         3、属性:普通属性 2.1、字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段 属于 对象 静态字段 属于 类 class Province: # 静态字段 country ='中国' def __init__(self, name): # 普通字段 self.name = name # 直接访问普通字段 obj = Province('河北省') print(obj.name) # 直接访问静态字段 print(Province.country) print(obj.country) 静态字段在内存中只保存一份 普通字段在每个对象中都要保存一份 2.2、方法 方法包括:普通方法、静态方法和类方法,三种方法在 内存中都归属于类 ,区别在于调用方式不同。 普通方法

python 类方法、静态方法

不想你离开。 提交于 2020-03-02 12:23:56
python 类方法、静态方法 class Foo ( object ) : def __init__ ( self , name ) : self . name = name def ord_func ( self ) : """定义一个实例方法,至少有一个self参数""" print ( "实例方法" ) @ classmethod def class_fun ( cls ) : """定义类方法,至少有一个cls参数""" print ( "类方法" ) @ staticmethod def static_fun ( ) : """定义静态方法, 无默认参数""" print ( "静态方法" ) f = Foo ( "中国" ) # 调用实例方法 f . ord_func ( ) # 调用类方法 Foo . class_fun ( ) # 调用静态方法 Foo . static_fun ( ) 来源: CSDN 作者: 廷益--飞鸟 链接: https://blog.csdn.net/weixin_45875105/article/details/104607398

NoSuchMethodError和NoSuchMethodException 区别

江枫思渺然 提交于 2020-03-02 07:12:05
NoSuchMethodException继承自Exception; NoSuchMethodError继承自Error,一般有兼容性问题时会抛出该异常; 前者是普通的A.b()形式调用,在极其特殊的情况下,发现A类里面没有b方法时抛出,一般情况下这种错误是不会存在的,连编译前的检查都没法通过。但是可能在某些极端情况下出现,比如字节码在内存中被改了。 后者我估计是在反射的时候,依据传入的方法名寻找方法时没找到。 Error代表的是无法恢复的错误,必须由jvm处理或者终止,而Exception是可以恢复的异常,程序员可以自行捕获。 NoSuchMethodError:当应用程序试图调用类(静态或实例)的指定方法,而该类已不再具有该方法的定义时,抛出该异常。通常由编译器捕获该错误;仅当类定义发生不相容的更改时,在运行时才会发生该错误。 NoSuchMethodException:无法找到某一特定方法时,抛出该异常。 来源: oschina 链接: https://my.oschina.net/u/120166/blog/393954

静态导入,断言

筅森魡賤 提交于 2020-03-02 04:56:20
静态导入 在JDK 1.5之后提供了静态导入功能,那么什么叫静态导入呢?如果一个类中的方法全部是使用static声明的静态方法,则在导入的时候就可以直接使用“import static”的方式导入,导入的格式如下: import static 包.类.* ; //静态导入包 import static java.lang.System.out; import static com.jy.test.Person.show; public class Test { public static void main(String[] args) { System.out.println("adfasdfa"); out.println("aaaaaaaaa"); //调用person中的方法 show(); } } 断言 在JDK 1.4之后,Java中增加了断言的功能,那么什么叫断言呢?断言就是肯定某一个结果的返回值是正确的,如果最终此结果的返回值是错误的,则通过断言检查肯定会为用户提示错误信息。断言的定义格式如下所示: assert boolean表达式 ; assert boolean表达式 : 详细的信息 public class Test { public static void main(String args[]){ int[] x= {1,2,3} ; // 定义一个数组

静态代理与动态代理实现与原理

爷,独闯天下 提交于 2020-03-02 02:32:59
基础代码准备 接口类: public interface IUser { /** * 判断用户的权限 * @param uid 用户的UID * @return */ public boolean isAuthUser(int uid); } 实现类: /** * 类的实现 * @author Jason * */ public class UserImpl implements IUser { @Override public boolean isAuthUser(int uid) { //做一些权限验证的工作 System.out.println(uid); //.... return false; } } 静态代理 由程序员创建或特定工具自动生成源代码,再对其编译,在程序运行前,代理类的.class文件就已经存在了。 原理: 对普通一个接口与一直实现类在加入一个代理类,用于包装实现类中实现的方法,而业务使用方只需要实例化代理类,并传递需要代理的普通类即可。 优点: 编译时生成代码,性能高 缺点: 一个代理类只能为一个接口服务,开发中必然会产生过多的代理 所有的代理操作除了调用的方法不一样之外,其他的操作都一样,则此时肯定是重复代码 代码示例 代理类 /** * 通过代理类,实现代理接口,通过构造进行实现的代理,在每个方法里面进行日志捕获 * <pre> *

前端优化点总结

安稳与你 提交于 2020-03-02 01:34:29
PC 浏览器前端优化策略 PC 端优化的策略很多,如 YSlow(YSlow 是 Yahoo 发布的一款 Firefox 插件,现 Chrome 也可安装,可以对网站的页面性能进行分析,提出对该页面性能优化的建议)原则,或者 Chrome 自带的 Audits 等,总结起来主要包括网络加载类、页面渲染类、CSS 优化类、JavaScript 执行类、缓存类、图片类、架构协议类等几类,下面逐一介绍。 网络加载类 1.减少 HTTP 资源请求次数 在前端页面中,通常建议尽可能合并静态资源图片、JavaScript 或 CSS 代码,减少页面请求数和资源请求消耗,这样可以缩短页面首次访问的用户等待时间。通过构建工具合并雪碧图、CSS、JavaScript 文件等都是为了减少 HTTP 资源请求次数。另外也要尽量避免重复的资源,防止增加多余请求。 2.减小 HTTP 请求大小 除了减少 HTTP 资源请求次数,也要尽量减小每个 HTTP 请求的大小。如减少没必要的图片、JavaScript、CSS 及 HTML 代码,对文件进行压缩优化,或者使用 gzip 压缩传输内容等都可以用来减小文件大小,缩短网络传输等待时延。前面我们使用构建工具来压缩静态图片资源以及移除代码中的注释并压缩,目的都是为了减小 HTTP 请求的大小。 3.将 CSS 或 JavaScript 放到外部文件中,避免使用