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

[JAVA]《Java 核心技术》(一)

2014-01-12 18:10 183 查看
 

1. unicode编码表
utf-8和unicode的互换问题
 
 
2.
subString(a,b)
获得 [a,b-1]的子串

3.
易犯错误,java没有引用传递

4.
==         比较是否放在同一个位置
equals     比较值是否相等
 
5.
字符串常量是共享的。+,substring等操作产生的结果不是共享的。
 
6.
String api
endsWith
equals
equalsIgnoreCase
indexOf
lastIndexOf
length()
replace
startsWith
substring(int begin, int end)
toLowerCase
toUpperCase
trim()
 
7.
StringBuilder---线程不安全的,速度快些
append
toString
 
StringBuffer---线程安全的,同步,速度慢
 
8.
String result = String.format("%d",i);
 
9
while(){}
do{}while()
for
 
10
大数值
BigInteger
BigDecimal
 
BigInteger a = BigInteger.valueOf(100);
BigInteger c = a.add(b);
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));
divide
CompareTo
 
11
数组的拷贝
 
int []luckyNumbers = smallPrimes
 
int []copiedLuckNumbers = Arrays.copyTo(luckNumbers, luckyNumbers.length)
 
数组排序
 
Arrays.sort(a);
 
int r = (int)(Math.random() * n);
 
binarySearch
 
fill
 
equals
 
arraycopy
 
12
多维数组
 
type [][]a = { {},{} }
 
13
不规则数组
每一行可以有不同的长度
 
C4
14
NumberFormat类
 
getPercentInstance()
 
main()方法为静态方法
 
 
15
java值传递
 
方法参数:
基本
对象引用
 
注意:
对于对象引用,传递后实参是引用的一个拷贝。但可以改变引用所指向的对象
 
一个方法不能修改一个基本类型数据的参数
一个方法可以改变一个对象参数的状态
一个方法不能实现让对象参数引用一个新的对象
 
 
16 每个实例域给一个有意义的初值
 
17 this(),super()
 
18 静态初始化
类第一次加载的时候,会进行静态域的初始化
 
19
Random()
int nextInt(int n):0~n-1
eg:
Random ge = new Random();
int id = ge.nextInt(n);
 
注意:Math.random() 与Random()区别
 
20
静态导入
import static java.lang.System
 
21
如果没有指定public/private,这个部分可以被同一个包中的所有方法访问。
 
public class Window extends Container{
String warnString;
}
 
 
C5 继承
22
extends
super
 
子类覆盖父类的方法时,不能低于父类的访问特性
 
23阻止继承/覆盖 final
 
24
将超类转换成子类之前,要用instanceof进行检查
 
25
抽象类
 
基类的作用在于抽象共同属性,便于扩展;不用重复工作
 
但有些属性放到积累中暂时无法确定其行为,用抽象类。
abstract class Person{
}
 
包含一个或多个抽象方法的类本身必须声明为 抽象类。
 
abstract class Person{
public abstract String getDescription();
public String getName(){
return name;
}
 
private String name;
 
}
 
抽象方法占位角色,具体实现在子类中。
子类如果没定义这个方法,则也要声明为抽象类。
全部实现则不是抽象类了。
 
一个类即使不含抽象方法,也可以将类声明为抽象类。
 
抽象类不能被实例化,不能创建对象。
 
26 受保护访问:、
超类中某些方法希望被子类访问,或允许子类的方法访问父类的某个域。
 
谨慎地使用protected.
 
 
Java中受保护部分对所有子类及同一个包中的所有其他类都可见。
 
默认情况下,没有任何修饰符的情况下,是对本包可见的。
 
 
 
27. Object
 
equals覆写
注意要用Object otherObject作为参数。
容易犯的错误是用类对象作为参数
 
hashCode方法
 
各个域取hash code
 
toString方法
 
clone方法
 
Class getClass()
 
28
ArrayList<T> ()
ArrayList<T>( int size )
add()
size()
set()-----对数组中已存在的域进行设置
get
 
29
ArrayList
的T不允许是基本类型
 
自动装箱
自动拆箱
 
-128~127 之间的Integer,Byte等都相等。 ==
 
int parsetInt
Integer.valueOf()
intValue()
 
30参数变量可变的方法
 
fun(Object ... args){
     for (Object x:args){
          doSth()
     }
}
 
31 枚举类
ordinal()
name()
values()
valueOf()
 
32
反射
1.Class类
(1)
Employee e
Class x = e.getClass()
x.getName()
 
if(e.getClass() == Employee.class)

e.getClass().newInstance()
 
 
 
(2)
String className = "java.util.Date";
Class c1 = Class.forName(className);
 
(3)
getFields()
getMethods()
getConstructors()
getDeclaredConstuctors()
getModifiers()
 
Method
Modifier
Field
 
(4)
私有
f.setAccessible(true)
 
(5)
Method中
invoke方法
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: