六、DSL操作ES 6.1、RESTful风格介绍 REST(Representational State Transfer 表述性状态转移),是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是RESTful。就是一种定义接口的规范。有以下特征: 基于HTTP 可以使用XML格式定义或JSON格式定义参数和返回值。 每一
在日常开发中,我们在看js代码时,经常会看到(...)这样的符号。这里介绍一下它的含义和作用。 定义: 扩展运算符(...)是ES6的语法,用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中。 基本用法 let person = {name: "Amy", age: 15} let someone = { ...person } someone // {na
类的构造器(构造方法)引用 由于构造器的名称与类名完全一样,并不固定。所以构造器引用使用类名称::new的格式表示。 public class Person { private String name; @Override public String toString() { return "Person{" + "name='" + name
#include <iostream> template<class typeName> class Person { public: Person(typeName name); void show(); protected: typeName m_name; }; template<class typeName> Person<typeName>::Person(typeName name): m_name(name) {
#include <iostream> #include <typeinfo> template<class typeName> class Person { public: Person() { std::cout << "typeName数据类型 " << typeid(typeName).name() << std::endl; } protected: typeNam
一、序列化的含义、意义及使用场景 序列化:将对象写入到IO流中 反序列化:从IO流中恢复对象 意义:序列化机制允许将实现序列化的Java对象转换位字节序列,这些字节序列可以保存在磁盘上,或通过网络传输,以达到以后恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在。 使
一、语法 Object.keys(obj)参数:要返回其枚举自身属性的对象返回值:一个表示给定对象的所有可枚举属性的字符串数组 在实际开发中,我们有时需要知道对象的所有属性;ES5 引入了Object.keys方法,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名。 二、处理对象,返回可枚
构造器/this: 什么时候用构造器赋值? 看创建对象是为了干什么? 如果说创建对象仅仅是为了调用这个类的方法,建议使用无参构造器 如果说创建对象的时候需要使用到对象的某个属性,可以使用构造器赋值 ublic class Ch01 { public static void main(String[] args) { // per
spring的bean自动装配主要是通过@Autowired注解实现的 (一) bean源代码解析 @Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interfa
今日学习情况:掌握 心情:80% 今天学习了面向对象this关键字和封装的概念,掌握情况较好。 Java基础 ——面向对象 this关键字 this关键字表示当前对象,比如在类的构造方法中给属性赋值时使用this.属性,这个this就代表当前创建的对象
今天学习了this关键字以及封装和构造器。 1、this关键字 this代表的是当前类的对象,this代表的是当前方法的调用者 this既然是代表方法的调用者,它实际上和对象的作用是一样的 既可以调属性,也可以调方法。 2、 一个类中可以有什么? 属性,方法,构造器 3、this不能用在static
一、概述 流式思想(Stream)类似于工厂车间的生产流水线,Stream 流不是一种数据结构,不保存数据,而是对数据进行加工处理,Stream 流可以看作是流水线上的一个工序,通过多个工序让一个原材料加工成一个商品 二、获取 Stream 流的常用方式 1、集合接口 Collection 的默认方
transient关键字——瞬态关键字 static关键字:静态关键字 静态优先于非静态加载到内存中(静态优先于对象加载到内存中) 被static修饰的成员变量不能被序列化的,序列化的都是对象 private static int age; oos.writeObject(new Person("张三",18)); Object o = ois.readObject(); Pers
Static关键字 static 用来修饰属性和方法 属性: 静态的属性可以直接调用 package com.oop.demo06; public class Student { private static int age; private String name; public static void main(String[] args) { Student.age = 10;
可以手动给类添加一个序列号格式,在SerialiVersionUID接口中规定: 可序列化类可以通过声明名为”serialVersionUID”的字段(该字段必须是静态(static)、最终(final)的long型字段)显示声明其自己的serialVersionUID: Static final long serialVersionUID=421;(常量不能变) 当JVM反序列
#include <iostream> template<class typeName, class typeAge> class Person { public: Person(typeName name, typeAge age): name(name), age(age) {} void show() { std::cout << "name " << name <<
#include <iostream> template<class typeName, class typeAge = int> class Person { public: Person(typeName name, typeAge age): name(name), age(age) {} void show() { std::cout << "name " << name <
引用数据类型值的传递传递的是堆内存空间的地址 例子1: public class object { public static void main(String[] args) { Person person1 = new Person(20);//person1指向内存空间1001 Person person2 = person1;//person2也指向内存空间1001 pers
1、Java面向对象中类与对象的概念和使用 方法的定义:方法就是一段可以重复调用的代码。 定义格式: 访问修饰符 返回值类型 方法名(){方法主体} 方法的返回值类型: void类型不需要返回值,其他类型的全部需要返回值。 方法的重载: 方法名称不同,但是参数的类型和个数相同,通过传递参数的个数
类、对象、构造器 一、类与对象的关系 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但并不能代表某一具体事物。 对象是抽象概念的具体实例 二、创建与初始化对象 使用new关键字创造对象 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初
值传递和引用传递 1.值传递 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。 package com.wzt.method;public class Demo05 { public static void main(String[] args) { int
//当其他类的对象作为本类的成员 构造的时候先去构造类的对象 再去构造自身 //析构函数: 先进后出 先去构造Phone 再去构造Person Person先退出 Phone后退出 //析构与构造顺序相反 点击查看代码 #include<iostream> using namespace std; //类对象作为类成员 class Phone { public
package src.com.qiQi.oop.Demo09;//静态导入包import static java.lang.Math.random;import static java.lang.Math.PI;public class Person { //执行完静态之后 会执行匿名代码块 { System.out.println("匿名代码块"); //这是代码块 这种格式是匿名代码块
1、抽象方法 如果父类的方法本身不需要实现任何功能,仅仅是为了定义方法签名,目的是让子类去覆盖它,那么,可以把父类的方法声明为抽象方法。 class Person { // 定义抽象方法 public abstract void run(); } 把一个方法声明为abstract,表示它是一个抽象方法,本身没有实现任
请求转发和重定向的区别 地址栏区别: 请求转发地址栏不会发生变化 重定向地址栏会发生变化 实质区别: 请求转发的资源跳转是在我们的服务器内部之间跳转的。 重定向的资源跳转就是在浏览器和服务器之间。 速度:重定向速度比较请求转发慢。 如何选择:如果是希望使请求用域中的数据,