目录
1、类
构造方法:快捷键(source菜单-generate constructor using fields)
get|set方法:快捷键(source菜单-generate getters and setters)
2、对象
格式:类名 对象名=new 构造函数(实参);
内容(静态 动态 )
类和对象这一块可能在理解上需要记得东西更多(看网站老师的总结)
3、类的继承
[修饰符] class B extends A
4、抽象类和接口
抽象类定义:abstract class 类名{ }
接口定义: [public] interface 接口名{ }
接口继承: [public] interface 接口名 extends 父接口列表{ }
接口实现: [修饰符] class 类名 implements 父接口列表{ }
5、修饰符
(1)访问控制符
访问控制符有四种级别,从小到大依次为private,默认,protected,public。含义如下:
(2)非访问控制符:包括abstract,final,static等。
abstract可以修饰类或方法,分别表示抽象类和抽象方法。
final可以修饰类、方法、成员属性和局部变量,分别表示最终类、最终方法和常量。
static修饰类成员,表示该成员属于类,通过类访问。
很多修饰符不能同时使用,会产生矛盾,如:
①abstract和final不能并列修饰同一个类。
②abstract不能与private,static,final并列修饰同一个方法。
6、多态
多态是面向对象程序设计的重要特征,从实现角度看,多态就是指同一名字(功能)的方法有多种不同的实现。
多态有两种实现:覆盖(Override)和重载(Overload)。
7、异常处理
<1>、系统异常
常见系统异常
①ArithmeticException:算数异常
如:int a=10/0;
②NumberFormatException:数值格式转换异常
如:String s="abc"; int a=Integer.parseInt(s);//把非数值形式的字符串s装换为整数
③NullPointerException:空指针异常
如:A[] s=new A[10]; s[0].f(); //A是一个类,s[0]对象没有创建就调用方法
④ClassCastException:类转换异常
如:B b=(B)new A(); //假设B是A的子类
⑤ArrayIndexOutOfBoundsException、StringIndexOutOfBoundsException:数组或字符串下标越界异常
如:int[] a = new int[5];String s = "abc";System.out.println(a[5] + "," + s.charAt(3));
⑥NegativeArraySizeException:数组个数为负数异常
如:int[] a=new int[-2];
⑦ClassNotFoundException:类找不到异常
如:Class.forName("aa.bb.cc.Test");//加载一个不存在的类
⑧FileNotFoundException:文件找不到异常
如:File file1 = new File("c:/aaa.txt");
FileInputStream fis = new FileInputStream(file1);//读取一个不存在的文件
<2>、自定义异常类:用户自定异常类须是Exception类的子类
class OutOfBounds extends Exception {
public String toString() {
return "数值超出范围";
}
8、常用类
<1>.object类
(1) public final Class getClass()方法
获取当前对象所属类的信息,返回Class对象。任何对象所属的类都是确定的,故该方法不能被子类重写。通过Class类,程序可以在运行时动态访问类的信息。
(2) public int hashCode()方法
得到用以标志对象的哈希码。默认情况下,该方法将对象在内存中的地址转换为一个int型整数作为返回值。未重写该方法时,任何对象的哈希码都是唯一的。
(3) public boolean equals(Object obj)方法
比较两个对象是否“同一”,即比较两个引用是否指向同一个对象,与==含义相同。该方法经常被重写,以真正实现比较两个对象是否相等。通常情况下,若子类重写equal方法,也必须重写hashCode方法,这主要是为了和集合类结合在一起时能正常工作。官方文档中对hashCode方法有如下约定:如果两个对象根据equals方法是相等的,那么hashCode方法也应该返回一样的值;如果两个对象根据equals方法不相等,并不要求hashCode方法的结果不一样。
(4) protected Object clone()方法
返回当前对象的一个拷贝,该方法通常需要在子类中重新改写才能使用。
(5) public String toString()方法
以字符串形式返回对象相关信息。结果是对象的类名通过@字符与对象的哈希码的十六进制形式连接。实际应用中建议改写这个方法,因为它会给代码的调试和跟踪带来便利。
(6) protected void finalize()方法
定义垃圾回收器回收当前对象时所需完成的清理工作。
<二>、基本数据类型封装类
(1)构造方法
public Integer(int value) //利用整数生成对象
public Integer(String s) //利用字符串生成对象
(2) 成员方法
public int intValue() //返回对象的整数值
public double doubleValue() //返回对象的浮点数值
public String toString() //将对象对应整数值转化为字符串
public static String toString(int i) //将指定整数转化为10进制字符串
public static int parseInt(String s) //将字符串转化为整数
public static Integer valueOf(String s) //利用字符串转化为对象
<3>.字符串类
字符串常量(String)和字符串变量(StringBuffer)
(1)构造方法
public StringBuffer() //创建一个空的StringBuffer对象
public StringBuffer(int length) //设置初始容量
public StringBuffer(String s) //利用已知字符串初始化StringBuffer对象
(2)成员方法
public StringBuffer append(String str)//在字符串的尾部追加指定字符串,重载方法有多个。
public StringBuffer insert(int index,String str)//在指定位置插入指定字符串,重载方法有多个。
public void setCharAt(int index, char c)// 将index处的字符设置为c
public StringBuffer reverse() //将字符串翻转
public StringBuffer replace(int start,int end, String str)//用指定字符串替换指定位置的子串
<4>.system和runtime类
<5>数学运算类
<6>.日期时间类