java常用包
java.applet java.awt java.io java.lang java.net(常与java.io包联用) java.util(包含一些实用工具类和数据结构类)
八种基本类型
bolean byte short int long char float double
"==" 比较两个变量的值是否相等
"equals"比较两个对象变量所代表的对象内容是否相等
Streing类
String类对象是一个常量对象
StringBuffer类
常用方法 delete() apppend() toString() reverse()
函数的调用
在java中传参时,都是以传值的方式进行的。对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的是引用的拷贝
打印对象时会自动调用toString()方法
对象的克隆(clone)
clone方法属于Object类
为了获取对象的一份拷贝,我们可以利用Object类的clone()方法
步骤:
1、在派生类中覆盖基类的clone()方法,并声明为public
2、在派生类中的clone()方法中,调用super.clone()
3、在派生类中实现Cloneable接口
例如:
class Student implements Cloneable
{
String name;
int age;
Student(String name,int age)
{
this.name=name;
this.age=age;
}
public Object clone()
{
Object o=null;
try
{
o=super.clone();
}
catch(CloneNotSupprtedException e)
{
System.out.println(e.toString());
}
return o;
}
}
内部类 可以访问外部类的私有成员变量
例如:
class Outer
{
private int index=100;
class Inner
{
private int index=50;
void print()
{
int index=30;
System.out.println(index);
System.out.println(this.index);
System.out.println(Outer.this.index);
}
}
void print()
{
Inner inner=new Inner();
inner.print();
}
Inner gerInner()
{
return new Inner();
}
}
class Test
{
public static void main(String[] args)
{
Outer outer=new Outer();
outer.print();
Outer.Inner inner=outer.getInner();//注意创建内部类的方法
inner.print();
}
}
如果Test类中的main方法加入到Outer类中,那么就不用加Outer. ,可以直接用Inner,但是Inner是非静态,
所以Inner inner=new Inner();是错的//如何做对呢
Outer.Inner inner=Outer.new Inner();
非静态内部类不允许有静态成员,只有在顶层类或static内部类才可以声明static成员。
在方法中定义的内部类,如果要访问方法中定义的本地变量或方法的参数,则变量必须被声明为final
内部类派生一个类
例如:
class Car
{
class Wheel
{
}
}
class PlaneWheel extends Car.Wheel
{
PlaneWheel(Car car)
{
car.super();
}
public static void main(String[] args)
{
Car car=new Car();
PlaneWheel pw=new PlaneWheel(car);
}
}
为什么要使用内部类
1、内部类可以随意访问外部类成员
2、内部类可以创建适配器类,用于实现接口的类
异常处理
java程序在执行过程中如果出现异常,会自动生成一个异常类对象,该异常类对象将被提交给java运行时系统
Class类
获取Class类实例的三种方法
1、利用对象调用getClass()方法获取该对象的Class实例
2、使用Class类的静态方法forName(),用类的名字获取一个Class实例
3、运用.class的方式来获取Class类的实例
newInstance()
Runtime类和Process类
设计模式--单例模式(Singleton)
单例类的构造方法是私有的
集合类
Collections Framework 集合框架
集合框架中的接口
Collection(根接口) (Set(SortedSet) List)
Map(sortedMap)
List两个实现类
ArrayList类
get()方法获取列表中的元素
toArray()方法返回一个数组
size()方法返回列表中元素的个数
Arrays类
asList()方法将数组转化为列表返回,返回的是固定尺寸的列表
List l=Arrays.asList(objs);
Iterator迭代器(util包中的接口)
方法next() hasNest() remove()
Collections类
方法Collections.sort()(自然排序,要实现Comparrable(在java.lang包中)接口) Collections.min() Cllections.max()
Comparator比较器
compare() equals()
LinkedList类(采用双向循环链表实现)(util包中)
I/O包
File类(一个File类的对象表示磁盘上的文件或目录)
canRead() canWrite() createNewFile() delete() createTempFile()
separator分隔符
流式I/O
流(stream)是字节的源或目的
InputStream抽象类 read()的几个方法 close()
OutputStream抽象类 write()的几个方法 close()
PrintStream类
System类的in和out方法
int data;
data=System.in.read();