构造器

【Java 常用类】(7)java.util.regex.Pattern、Matcher的常用方法

大城市里の小女人 提交于 2020-01-24 21:58:33
文章目录 前言 大纲 二、使用 1.字段(Pattern类) 2.构造器(Pattern类和Matcher类) 3.常用方法(Pattern类) 3.1 创建正则编译到模式中 3.2 创建正则编译到模式中并给定标志 3.3 模式的字符串形式 3.4 字符串匹配 3.5 创建匹配器 4.常用方法(Matcher类) 4.1 字符串匹配 4.2 捕获组数量 4.3 正则替换 4.4 查找获取匹配 前言 我上一篇写了正则表达式的总结,这一篇讲一下Java中Pattern和Matcher类的使用。 正则表达式总结请移步: 【正则表达式】(0)总结 大纲 Pattern :正则表达式的编译表示形式。 主要就是用来写正则表达式。 public final class Patternextends Object implements Serializable Matcher 通过解释 Pattern 对 character sequence 执行匹配操作的引擎。 看名字也知道了,匹配器主要用来匹配。 public final class Matcher extends Object implements MatchResult 二、使用 1.字段(Pattern类) int caseInsensitive = Pattern . CASE_INSENSITIVE ; // 忽视大小写

Java 面向对象

只愿长相守 提交于 2020-01-24 21:55:53
1.面向对象 object-oriented programming OOP 抽象 封装 继承 多态 2.方法回顾和加深 方法定义: 修饰符 返回值 方法名 (参数列表){方法体 return 0;}; 方法重载 参数列表 个数 类型 参数类型顺序 ;  抛出异常throw 方法调用:递归 1.静态方法 和类一起加载;   2.非静态方法 和对象一起加载,实例化后加载; 3.形参和实参 4.this关键字  5.值传递和引用传递 3.对象的创建和分析 new 分配内存空间 默认初始化属性,调用构造器方法。   构造器:和类名相同,对类内实例变量进行初始化。   默认构造器和带参数的构造器,声明了有参构造,无参构造需要显示写出。   alt+insert 4.面向对象三大特性 封装:get/set 继承:extends Object super 在子类中调用父类无参构造,系统默认调用。 父类如无参构造,子类可以显示调用父类有参构造,只能有参构造。 方法重写:1.需要继承关系,子类重写父类方法;2.方法名必须相同,3参数列表必须相同;4.修饰符必须扩大;public>protected>default>private;5. 多态:有父子关系才能转换。方法的多态; 对象能执行哪些方法,主要看对象左边的类类型,类含有哪些类型就能调用哪些类型。 重写方法 注意 。 多态条件:1.继承关系;2

HashSet

雨燕双飞 提交于 2020-01-24 17:37:17
HashSet的继承类和实现接口以及集合描述 HashSet继承AbstractSet类,实现了Set、Cloneable、Serializable接口。 我们解读后发现 HashSet底层是用散列表来实现的,他是一个无序的,不允许重复的,并且允许null值的集合 HashSet的常用方法以及源码分析 构造器 构造器的底层最终实现的是HashMap,构造器最终调用的都是HashMap的构造器。 增 HashSet 的 add()方法最终调用的是HashMap 的 put 方法,并且Value是一个固定值! 所以说HashSet的集合保存的元素都是使用HashMap去存储,并且元素是作为Key去存储的。Value是一个常量值。add方法返回的boolean类型来判断这个元素是否存在 删 同样,HashSet 的remove()方法也是调用HashMap的remove()方法。boolean类型来返回删除是否成功。 clear()方法以实同样 改 HashSet并不提供改的方法。 查 contains()方法也是调用HashMap的方法。 遍历 HashSet的遍历方法本质上就是HashMap对Key的遍历,所以iterator接口返回的就是KeySet().iterator()。 来源: CSDN 作者: 不会街健的bboy不是一个好程序员 链接: https://blog.csdn

JavaScript的原型继承

三世轮回 提交于 2020-01-24 14:57:18
JavaScript是一门面向对象的语言。在JavaScript中有一句很经典的话,万物皆对象。既然是面向对象的,那就有面向对象的三大特征:封装、继承、多态。这里讲的是JavaScript的继承,其他两个容后再讲。 JavaScript的继承和C++的继承不大一样,C++的继承是基于类的,而JavaScript的继承是基于原型的。 现在问题来了。 原型是什么? 原型我们可以参照C++里的类,同样的保存了对象的属性和方法。例如我们写一个简单的对象 function Animal(name) { this.name = name; } Animal.prototype.setName = function(name) { this.name = name; } var animal = new Animal("wangwang"); 我们可以看到,这就是一个对象Animal,该对象有个属性name,有个方法setName。要注意,一旦修改prototype,比如增加某个方法,则该对象所有实例将同享这个方法。例如 function Animal(name) { this.name = name; } var animal = new Animal("wangwang"); 这时animal只有name属性。如果我们加上一句, Animal.prototype.setName =

面向对象知识点汇总(一)java语言

孤人 提交于 2020-01-23 18:56:53
类和对象 定义类 一个类定义,可以包含三种最常见的成员:构造器、成员变量、方法。 成员变量 :用于定义该类或该类的实例所包含的状态数据 方法 :用于定义该类或该类的实例的行为特征或功能实现。 构造器 :用于构造该类的实例,Java语言通过new关键字来调用构造器,从而返回该类的实例。如果没有为一个类编写构造器,则系统会为该类提供一个默认的构造器。 成员变量定义格式 [ 修饰符 ] 类型 成员变量名 = [ 默认值 ] ; 修饰符:public、protected、private、static、final,其中public、protected、private三个最多出现其中之一,可以与static、final组合起来修饰成员变量。 类型:基本类型+引用类型 方法定义格式: [ 修饰符 ] 方法返回值类型 方法名 ( 形参列表 ) { //由零到多条可执行性语句组成的方法体 } 形参列表:用于定义该方法可以接受的参数,谁调用方法谁负责为形参赋值。 对象的产生和使用 创建对象的根本途径是构造器,通过new关键字来调用某个类的构造器即可创建。 Person p = new Person ( ) ; 对象作用: 访问对象的实例变量 调用对象的方法 如果访问权限允许,类里定义的方法和成员变量都可以通过类或实例来调用,语法如下: 类 . 类变量 | 方法 //访问p的name实例变量

Java JVM 从程序员的角度看对象初始化过程,变量加载顺序及内存分配

你说的曾经没有我的故事 提交于 2020-01-22 22:49:31
专栏原创出处: github-源笔记文件 , github-源码 ,欢迎 Star,转载请附上原文出处链接和本声明。 Java JVM-虚拟机专栏系列笔记,系统性学习可访问个人复盘笔记-技术博客 Java JVM-虚拟机 一、前言 前面我们分析过 从虚拟机的角度看对象的创建与访问 。 现在我们站在程序员角度,来看一下我们定义的一个个类及类里面的成员变量是怎么初始化的,分别什么时候初始化,以及初始化顺序和内存分配。 公网上的文章写一堆代码打印一些信息进行分析,有些把语句块的加载顺序都下结论了,这种理解对于初学者来说可行,但是随着深入的学习我们应该试着从虚拟机角度去分析整个过程。 本文从字节码及类加载过程结合虚拟机内存模型进行分析,无需进行大量源码打印,愿意验证的朋友可以采用该方法进行更复杂的初始化过程分析。 首先我们统一一下概念: 类变量,表示 static 修饰的成员变量 类常量,表示 static final 修饰的基本数据类型与字符串成员变量 静态语句块,使用 static{} 包起来的语句块 实例变量,表示随着类初始化而初始化的成员变量 实例构造器语句块,使用 {} 包起来的语句块 class Father { // 类常量 public static final String STATIC_FINAL = "static-final-Father" ; // 类变量

Thinking in Java---异常处理机制

孤街浪徒 提交于 2020-01-22 18:36:42
java的异常处理机制能够使程序有极好的容错性,让程序更加的健壮.所谓的异常,就是指的阻止当前方法或作用域继续运行的问题,,当程序运行时出现异常时,系统就会自己主动生成一个Exception对象来通知程序.这样就极大的简化了我们的工作. 当然java的异常对象有非常多种,以下这幅图显示了java异常类的继承体系. 从图片中能够看到java将全部的非正常情况分成了两种: 异常(Exception)和错误(Error),他们都继承Throwable父类.Error错误通常是指与虚拟机相关的问题,如系统崩溃,虚拟机错误等.这样的错误无法恢复或不可捕获,将导致应用程序中断,通常应用程序无法处理这些错误,因此也不应该试图用catch来进行捕获.而对于Exception我们是能够进行捕获并处理的.以下从几个方面对异常处理机制进行介绍. 一.异常处理的一般格式 try{ ///可能会抛出异常的代码 } catch(Type1 id1){ //处理Type1类型异常的代码 } catch(Type2 id2){ ///处理type2类型异常的代码 } try块中放置可能会发生异常的代码(可是我们不知道详细是哪种异常).假设异常发生了,try块抛出系统自己主动生成的异常对象,然后异常处理机制将负责搜寻參数与异常类型相匹配的第一个处理程序,然后进行catch语句运行(不会在向下查找)

Lombok的介绍与使用_Java 开发小效率工具

余生长醉 提交于 2020-01-22 11:39:40
Lombok是啥? 一个java库,一个构建工具。通过简单的注解来实现精简代码,消除冗长代码和提高开发效率的目的。 为啥要使用Lombok 大家在写bug的时候,肯定和很多的实体打过交道,然后我们要写getter()、setter()、toString()等等。 不,我们不用写,不管是 idea 还是 eclipse 都有快捷键给我们生成getter()、setter()。所以我们还是能很快的开发。 可是还是有下面的一些问题: 众多的 getter() 、 setter() ,占据整个类,影响代码的可读性。如果我们开发将字段穿插在 getter() 、 setter() 之间呢? public class User { /** id */ private Long id ; public Long getId ( ) { return id ; } public void setId ( Long id ) { this . id = id ; } /** 姓名 */ private String name ; public void setName ( String name ) { this . name = name ; } public String getName ( ) { return name ; } } 上面和下面的,很明显下面的更直观,一目了然 public

Java核心技术笔记——第 12 章 反射

对着背影说爱祢 提交于 2020-01-22 07:40:32
转载自:[ https://www.cnblogs.com/chanshuyi/p/head_first_of_reflection.html ] 12 反射 1. 引入反射 通常情况下,调用一个类的方法的步骤如下: 创建该类的对象。 调用该对象的方法。 通过这种方式调用方法时,必须要知道类的定义以及类的所有属性和方法。代码如下: Apple apple = new Apple(); //直接初始化,「正射」 apple.setPrice(4); 另一种调用类方法的方式是:反射。示例如下: //获取类的class对象 Class clz = Class.forName("com.chenshuyi.reflect.Apple"); //获取类的指定方法的method对象 Method method = clz.getMethod("setPrice", int.class); //获取类的默认构造器 Constructor constructor = clz.getConstructor(); //创建类的对象 Object object = constructor.newInstance(); //调用方法 method.invoke(object, 4); 上面两段代码的执行结果,其实是完全一样的。但是其思路完全不一样,第一段代码在未运行时就已经确定了要运行的类(Apple)

自己动手系列——实现一个简单的ArrayList

狂风中的少年 提交于 2020-01-22 00:39:30
ArrayList是Java集合框架中一个经典的实现类。他比起常用的数组而言,明显的优点在于,可以随意的添加和删除元素而不需考虑数组的大小。处于练手的目的,实现一个简单的ArrayList,并且把实现的过程在此记录。 实现的ArrayList主要的功能如下: 默认构造器和一个参数的有参构造器 add方法 get方法 indexOf方法 contains方法 size方法 isEmpty方法 remove方法 这个简单的ArrayList类 取名为 SimpleArrayList ,全部的代码查看 SimpleArrayList代码 构造器 源码ArrayList一共有三个构造器,一个无参构造器,一个参数为int型有参构造器,一个参数为Collection型的有参构造器。参数为Collection型的构造器用来实现将其他继承Collection类的容器类转换成ArrayList。SimpleArrayList类因为还没有手动实现其他的容器类,所以实现的构造方法只有2个。代码如下: public SimpleArrayList(){ this(DEFAULT_CAPACITY); } public SimpleArrayList(int size){ if (size < 0){ throw new IllegalArgumentException("默认的大小" + size);