static

Java create a unique ID for each instantiated object using instance methods instead of class/static methods

浪子不回头ぞ 提交于 2020-03-17 11:08:27
问题 Quite new to this so I hope I have the terminology in the title right. I am trying to figure out how to create an instance method that will do the following: --An ID number is returned. --As each object is created from the class constructor(instantiated?), a unique integer ID number is assigned to it. The first ID number is 1, and as new objects are instantiated, successive numbers will be assigned. I am able to find examples of class/static methods that do the above however I am unable to

Java Grammar(三):修饰符

风格不统一 提交于 2020-03-17 09:21:36
简介 修饰符是用于限定类型以及类型成员申明的一种符号,从修饰对象上可以分为类修饰符,方法修饰符,变量修饰符;从功能上可以划分为访问控制修饰符和非访问修饰符。访问修饰符控制访问权限,不同的访问修饰符有不同的权限范围,而非访问修饰符则是提供一些特有功能。 下面我们从功能的角度分别讲解修饰符 访问修饰符 访问修饰符有四种: public , private , protected , default 。这里需要注意,我们这里的 default 和非访问修饰符中的 default 可不是一个东西! 这里的 default 指的是默认, 什么也不写 ,在同一包内可见,不使用任何修饰符。使用对象: 类、接口、变量、方法 。 private 指的是在仅仅在类内可见,所以也就很好理解, private 只能修饰 方法,变量 ,而不能修饰类和接口(毕竟你只能类内访问,你修饰类谁能看得到呢?),修饰方法的时候,一般用于我们在重构代码的时候提取公用代码为 内部实现方法 ,修饰变量的情景相比我们就经常见到了,由于Java的 封装 特性,我们在定义一个类的时候,经常会把该类的属性定义为 private ,通过 get or set 方法来访问这些变量。 而 public 在我们日常中使用的比较多,我们经常会把类声明为 public ,声明成 public 的 类,接口,变量,方法 可以被任何类访问

CSS布局(二)

℡╲_俬逩灬. 提交于 2020-03-17 04:55:18
本节内容: position、 float、 clear、 浮动布局例子、 百分比宽度 position CSS中的position属性设置元素的位置。属性值:static、relative、fixed、absolute。 static static属性是默认值。任意的position:static;的元素不会被特殊的定位。一个static元素表示它不会定位,一个position属性被设置为其他值的元素表示它会被定位。 relative Relative表现的和static一样,除非添加了一些额外的属性。在一个相对定位(position属性的值为relative)的元素上设置top、right、bottom、left属性会使其偏离正常位置。 其他的元素则不会调整位置来弥补它偏移后剩下的空隙。以上两个类分别为relative1和relative2的div都设置了position:relative;属性,当relative2设置了top:-20px;时,可以看见它相对于自己原本的位置发生了改变,向上移了20个像素(因为这个值是负值,如果是正值,则向下移动20px);后又设置了left:20px;属性(left:20px;意思是距离左边20px,而不是向左移动20px),所以该div又向右移动20px。 记住position:relative;属性如果不设置top、bottom、left

java final static 和final区别

两盒软妹~` 提交于 2020-03-17 00:26:09
static 和非static 之间的差异,只有当值在运行期间初始化的前提下,这种差异才会揭示出来。因为编译期间的值被编译器认为是相 同的。 package thinking; public class FinalData { // Can be compile-time constants final int i1 = 9; static final int I2 = 99; // Typical public constant: public static final int I3 = 39; // Cannot be compile-time constants: final int i4 = (int)(Math.random()*20); static final int i5 = (int)(Math.random()*20); public void print(String id) { System.out.println( id + ": " + "i4 = " + i4 + ", i5 = " + i5); } public static void main(String[] args) { FinalData fd1 = new FinalData(); FinalData fd2 = new FinalData(); fd1.print("fd1");

什么是外部链接和内部链接?

半世苍凉 提交于 2020-03-16 21:47:37
某厂面试归来,发现自己落伍了!>>> 我想了解外部链接和内部链接及其区别。 我也想知道 除非默认声明为 extern ,否则默认情况下 const 变量内部链接。 #1楼 编写实现文件( .cpp , .cxx 等)时,编译器会生成 翻译单元 。 这是实现文件中的目标文件,以及 #include 在其中的所有标头。 内部链接 仅指 翻译单元范围内的 所有内容。 外部链接 是指存在于特定翻译单元之外的事物。 换句话说, 可以通过整个程序访问 ,这是所有翻译单元(或目标文件)的组合。 #2楼 正如 dudewat所说, 外部 链接意味着在整个程序中都可以访问符号(函数或全局变量),而 内部 链接意味着只能在一个 翻译单元中对其进行 访问。 您可以使用 extern 和 static 关键字显式控制符号的链接。 如果未指定的联动是默认键是 extern 用于非 const 符号和 static (内部)为 const 的符号。 // in namespace or global scope int i; // extern by default const int ci; // static by default extern const int eci; // explicitly extern static int si; // explicitly static // the

SpringBoot添加对静态文件css/html/jpg等的直接访问的支持

别来无恙 提交于 2020-03-16 21:24:46
2019/3/2更新 使用这个方法时候如果遇到`LazyInitializationException`,请按照如下方法解决: 一、在你的项目启动类中加入这个方法 @Bean public OpenEntityManagerInViewFilter openEntityManagerInViewFilter(){ return new OpenEntityManagerInViewFilter(); } 二、在你的项目配置文件(比如:application.properties)中加入 spring.jpa.open-in-view=true ----原文---- 解决对策 解决方法是配置WebMvcXXX(多说一句 WebMvcConfigurerAdapter 在Spring新版本已经过时,因此再看相应的解决方案请慎重)比如新建一个文件WebStaticResourceConfigure.java,然后码上如下代码: @Configuration public class WebStaticResourceConfigure extends WebMvcConfigurationSupport { @Override public void addResourceHandlers(ResourceHandlerRegistry registry){ /* * *

C和指针

眉间皱痕 提交于 2020-03-16 20:23:01
1.指针数据类型 变量的值存储于计算机的内存中,每个变量占据一个特定的位置,每个内存位置都由地址唯一确定并引用。指针只是 地址的另一个名字罢了。指针变量就是一个其值为另一个内存地址的变量。 1.1 指针常量 指针常量与非指针常量在本质上是不同的,因为编译器负责把变量赋值给计算机内存中的位置,程序员事先无法知道某个特定的变量将存储到内存的哪个位置。因此,你通过操作符获得一个变量的地址而不是直接把它的地址写成字面值常量的形式。事实上,当一个函数每次被调用时,它的自动变量(局部变量)可能每次分配的 内存位置都不相同,因此把指针常量表达为数值字面值的形式几乎没有用处,所以C语言内部没有特地定义这个概念。 1.2 static关键字 当用于不同的上下文环境时,static关键字具有不同的意思。 当它用于函数定义时,或用于代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从external改为internal。但标识符的存储类型和作用域不受影响。用这种方式声明的函数或变量只能在声明它们的源文件内访问。 当它用于代码块内部的变量声明时,static关键字用于修改变量的存储类型,从自动变量修改为静态变量,但变量的链接属性和作用域不受影响。用这种方式声明的变量在程序执行之前创建,并在程序的整个执行期间一直存在,而不是每次在代码块开始执行时创建,在代码块执行完毕后销毁。 来源:

Java static修饰符

吃可爱长大的小学妹 提交于 2020-03-16 18:29:10
Java static修饰符 static修饰符是静态修饰符,大家写Java第一次接触static就是主函数中的pubic static void main的声明了。 那么static有什么用?本文来详细说说。 static成员与普通成员的区别 static表示 全局 或 静态 的意思,用来修饰类的成员变量和成员方法。 我们知道,程序中代码都是在编译的过程中由编译器自动分配的内存,而 static类型 就指其修饰的变量、方法在编译后就一直存在,直到程序结束才会释放内存。而我们知道Java是纯面向对象语言,万事万物都存在于类当中。 对于一个类而言,如果要使用它的成员变量、成员函数, 普通情况下必须先实例化对象之后, 通过对象的引用才能够访问这些成员。 但是用static修饰的成员可以直接通过'.'访问标识符访问。 被static修饰的成员变量和成员方法 独立于该类的任何对象 ,也就是说, static成员不依赖于特定的实例 ,而是被该类的所有对象共享,且 不会被垃圾回收。 那么,只要这个类的代码被编译器编译了,static成员就可以直接通过类名访问(调用),无需引用任何对象。 static方法 静态方法可以直接通过类名访问,这也解释了为什么主函数是static方法了,因为我们不需要利用public类来实例化后才找到主函数入口。 静态方法可以直接通过类名调用,任何对象也可以调用

Spring Notes

浪尽此生 提交于 2020-03-16 15:04:51
2020-03-15 Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。 @RequestMapping如果没有指定请求方式,将接收Get,Post,Head,Options等所有的请求方式 @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。 @PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。 LoggerFactory.getLogger java开发过程中经常需要打印日志信息,往往会在每个类的第一行加上形如以下代码: protected static final Logger logger = LoggerFactory.getLogger(XXX.class); 目的: 使用指定的类XXX初始化日志对象,方便在日志输出的时候,可以打印出日志信息所属的类。 示例: protected static final Logger logger = LoggerFactory.getLogger(XYZ.class); logger

程序员求职之道(《程序员面试笔试宝典》)之程序设计基础(static的使用)?

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-16 08:18:04
在 C 语言中,关键字 static 的意思是静态,它有三个明显的作用:首先,在函数体内,静态变量具有“记忆”功能,即一个被声明为静态的变量在这一函数被调用过程中其值维持不变。其次,在模块内(但在函数体外),它的作用域范围是有限制的,即如果一个变量被声明为静态的,那么该变量可以被模块内所有函数访问,但不能被模块外其它函数访问,它是一个本地的全局变量,而如果一个函数被声明为静态的,那么该函数与普通函数作用域不同,其作用域仅在本文件中,它只可被这一模块内的其它函数调用,不能被模块外的其它函数调用,也就是说这个函数被限制在声明它的模块的本地范围内使用。所以,内部函数应该在当前源文件中说明和定义,对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。 具体而言, static 全局变量和普通的全局变量的区别在于 static 全局变量只初始化一次,这样做的目的是为了防止在其它文件单元中被引用。 static 局部变量和普通局部变量的区别在于 static 局部变量只被初始化一次,下一次的运算依据是上一次的结果值。 static 函数与普通函数的区别在于作用域不一样, static 函数只在一个源文件中有效,不能被其它源文件使用。 在 C++ 中,在类内数据成员的声明前加上关键字 static ,该数据成员就是类内的静态数据成员