您的位置:首页 > 编程语言 > Java开发

JAVA面向对象 Part02 String常用Api , this static关键字

2017-03-07 21:00 495 查看
String

charAt(int index)
char
 
toCharArray()
char[]
系统复制一份新数组方法
String(char[] c, int offset, int length)
 
 
String(char[] c)
 
 
String(byte[] b, String charsetName/Charset charset)
 
 
String(byte[] b, int offset, int length[, String charsetName/Charset charset])
 
 
getBytes()
byte[]
字符串转为字节数组,
默认
getBytes(Charset.forName("GB2312"))
byte[]
 
startsWith(char c)
boolean
 
endsWith(char c)
boolean
 
replace(char c, Char new)
String
新字符串
replace(CharSequence charSequence, CharSequence new)
String
 
replaceAll(rex, String)
String
 
replaceFirst(rex, String)
String
 
substring(int begin)
String
 
substring(int begin, int end)
String
[begin, end)
split(String regex)
String[]
 
split(String regex, length)
String[length]
 
containts(String s)
boolean
 
indexOf(int ch/String s)/lastIndexOf
int
 
indexOf(int ch/String s, int fromIndex)/lastIndexOf
init
 
isEmpty()
int
 
length()
int
 
toLowerCase()
String
 
toUpperCase()
String
 
trim()
 
开头结尾的空白字符
concat(String)
String
字符串连接
valueOf(*)
String
内部实现 *.toString()
equals(String s)
boolean
 
 

值传递/引用传递
java中只有值传递

其实 JAVA 中只有值传递,在栈中存储的数据,如果是基本数据类型,
那就是具体值,如果在栈中存储的是引用类型,那么就是地址,在变量赋值时,会把当然变量的值复制一份赋给另一个变量。

 

对象的一对一关系

在开发过程中,对象之间的关系一般表现为三种:

一对一

把一个对象类型作为另一个对象类型的属性,并提供getter/setter

一对多(多对一)

多对多

 

this关键字

调用构造方法
调用属性/方法

表示当前对象

内部类访问外部类对象,
使用类名.this

 

static关键字

静态变量
static数据存储在静态方法区中,
该类的所有对象共享一份静态数据

第一次装载字节码的时候就会被初始化,
无论是否使用

常驻内存

静态变量不属于对象,
是类变量

不建议使用对象名称访问静态数据

静态方法

类名调用
方法内部不存在当前对象,
不能使用this, super,
不能使用非静态变量,
不能调用非静态方法

静态内部类

静态初始器——静态块

静态初始器是一个存在与类中方法外面的静态块,仅仅在类装载的时候执行一次,通常用来初始化静态的类属性。

何时使用

需要定义一个全局的变量供所有对象共享时

当需要定义工具类时,
可以使用静态方法

当定义一个常量
public final
加static后可以直接调用,
并且节省内存,
见名知意.

API

System.arraycopy(original, oPos, dest, destPos, length)
void
内存映射,
效率高
 

Extends
GBK GB2312 BIG5 Latin1/ISO-8859-1

Latin1是ISO-8859-1的别名,有些环境下写作Latin-1。ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致

entity vo(value object / view object) dto(data transfer object)

 

Notice
lang包不需要导包

char数组,
直接输出为字符排列

方法区存储,
字节码文件,
静态数据

构造方法不可以为static,
因为构造器和对象有关

定义方法/变量,
优先private,
安全/隐藏.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: