java 11天 StringBuffer static

补充:1--100正则表达式

1-100  100拿出去或上

“[1-9][0-9]{0,1}|100”

0--100   0和100拿出去或上

“[1-9][0-9]{0,1}|100|0”

获取常量池中的地址 String - intern();

String 学过23个
 

一.StringBuffer

StringBuffer  字符串长度+16  StringBuffer空间是 2*oldCapacity+2=扩容底层

查看容量 buffer.capacity

常用方法

1.append() 追加

StringBuffer buffer=new StringBuffer();
buffer.append(“.....”);//可字符串
buffer.append(‘’);//char   常用字符串或者char类型的单字符

2.reverse();

StringBuffer buffer=new StringBuffer(“welcome”);
buffer.reverse(); //emoclew   不需要接收

3.insert(1,2)

1位置从0开始的索引   插入2的内容

二.String------>StringBuffer

第一种:通过new的构造方法

StringBuffer buffer=new StringBuffer(“hello”);//方式1   容量 5+16

第二种:append()方法

StringBuffer buffer=new StringBuffer();

Buffer.append(“hello”);//方式2 容量16  

三.StringBuffer---->String

1.String s=””+变量;

2.String s=String.valueOf(变量);

3.String s=变量.toString()

补充:基本数据类型转为String类型,引用数据类型也可以

1.String s=””+变量;

2.String s=String.valueOf(变量);

 引用数据类型特有的

String s=变量.toString()

三.四种修饰符

修饰那些内容

访问权限修饰符 类 属性

Public                 √       √

Default               √       √

Private                x      √

Protected            x       √

面试题:

A中public修饰的方法 B类可以访问吗?为什么

不一定

访问到A中public修饰的方法 前提是 能访问A类

注:一个类中的权限<=类的权限

四.static

 static 修饰符  共享一份的概念

属性:【普通属性】【实例变量】  调用:对象.静态属性

static 静态属性静态属性 static 调用:对象.静态属性 类.静态属性  out

方法  静态方法 可以使用类名直接调用【对象调用也可以】

面试题:普通方法【实例方法】和静态方法谁的调用更简单?

静态方法更简单 直接拿着类名调用

面试题:为什么不将类中所有的方法变为静态方法?

静态方法只能访问静态的成员【属性\方法】无法直接访问普通的成员解决方案

:创建对象+  【对象.调用】

否则需要将所有的属性方法static修饰为静态属性 不合理

如果是main方法的兄弟方法 必须加static?

main方法本身被static修饰  被static修饰的方法只能访问被static修饰的方法和属性

不能修饰局部变量或者创建对象+  【对象.调用】

代码块:

*普通代码块{}为普通属性赋值的 每new一个对象 执行一次

*静态代码块  static{}为了给静态属性赋值  当类被加载的时候执行 自始至终执行一次 TestStatic9

一个面试题:三种调用的顺序 首先 静态代码块 普通代码块 构造方法

面试题:为什么static不能修饰局部变量?

局部变量依赖于方法调用,方法执行到创建局部变量哪一行才可以创建局部变量。而static修饰的内容【static{}】是类一加载就要被找到,时机不同,所以static不可以修饰局部变量

五.final修饰哪些内容

1.类

类  final修饰类->最终类  

特点:最终类又称 “骡子类” 不能被继承

eg:java.lang.String/java.lang.System

2.方法:

final修饰的方法可以被继承得到,调用但是不能覆盖【重写】

static 属性 方法 代码块

final 类 方法 变量

3.变量:

final修饰的变量--》常量

特点: 栈中值不能改变,基本数据类型是数值不可以重新赋值,引用数据类型是地址值不可修改

六.abstract 修饰符

面试:abstract可以修饰哪些内容?

abstract可以修饰 类 方法

类:抽象类不形象不具体不可以创建对象

面试题:抽象类有构造方法吗?

有,只要是一个类 就有构造方法

面试题:抽象类不能造对象,抽象类的构造方法的作用是什么?

提供给子类构造方法首行super()使用

方法:抽象方法 父类不提供方法的实现 待留子类去实现【必须实现】

一旦一个类中有抽象方法 ,该类就要变成抽象类。为了防止调用抽象方法,所以给类加抽象类

注意:一旦父类创建了抽象方法,子类必须要重写,加上@Override

面试题:final和abstract 可以修饰同一个类吗?不可以

面试题:final和abstract 可以修饰同一个方法吗?

不可以,final修饰的方法不可以被子类方法覆盖,而abstract方法是为了让子类实现方法覆盖,两者冲突 不可以修饰同一个方法

设计模式之单例模式

实例-----对象

单例模式:【单一实例】

        一个类只有一个对象

1.创建私有化构造方法【防止外界创建多个对象】

2.创建一个私有的  静态的属于本类类型的对象 防止外界直接获取赋值为空  静态的防止递归创建对象导致堆栈溢出

3.提供一个公共的 静态的 返回本类对象的方法

静态的:外界只能使用类名调用【外界不能造对象】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值