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

Java学习手册

2016-11-12 01:34 78 查看
这是在学了C后转学JAVA时补充的一些知识

//多态,动态绑定(方法):

* 1有继承

* 2有重写

* 3父类引用指向子类对象

* 属性静态绑定到变量类型,注意与方法动态绑定的区别,但一般子类属性不要与父类属性重名为好

//javaBean规范(使用方便):

*必须有包package

*java类具有无参构造函数

*有用getXXX()和setXXX()声明的Bean属性

*必须实现序列化接口

//static为修饰类级别资源,由全体类对象共享

//接口:

* 接口是一种特殊的抽象类,是抽象方法和常量值的定义的集合

* 没有变量和方法的实现

* 多个无关的类可以实现同一个接口

* 一个类可以实现多个接口

* 每个接口暴露对象的某些特定方法

//接口之间的关系

* 接口可以继承接口,和类一样

* 但类只能实现接口

*java中类只支持单继承,但可以实现多个接口

//final 关键字

/*

* final变量不能改变值

* final方法不能被重写

* final类不能被继承

*/

/* 异常处理(throwable)

* 掌握一个图,5个关键字,先小后大,异常重写关系

* error是系统内部错误,虚拟机出错,程序无法解决

* exception包括RuntimeException和其他Exception,可以被我们catch,程序可以处理

*RuntimeException是经常出的错误,可以选择catch或者不catch,但其他的Exception必须catch,不然就得再出throw,否则编译无法通过,查看函数声明是有声明throw exception的还有重写的父类方法有抛出异常的

*在try语句里catch到异常后不执行try模块里的出现异常的语句后面的语句

*但在try模块后面的语句有被执行

*finally语句块无论什么情况都被执行

*printStackTrace()包涵getMessage()里面的内容

*传递给异常类构造函数的字符串就是getMessage()的内容

*不可以在子类异常catch前catch父类异常,会提示已捕捉到异常

*自定义异常类,通过继承Exception和RuntimeException类

*重写方法需要抛出与愿方法所抛出的异常类型一致或者不抛出异常

*/

*数组补充:

*用charAt(下标)方法获取字符串中的某一下标对应的字符

*1用迭代输出每一个元素,也可以用java.util.Arrays包中的一个方法:

Array.toString(array)这是一个静态方法 ,此方法会以特殊格式输出数组对象:[1, 2, 3, 1]

*2数组拷贝:用方法System.arraycopy(src,srcPos,dest,destPos,length)和Arrays.copyOf(src,length)

* 3利用数组复制实现数组扩展

*4java语言中声明数组时不能指定其长度,及数组元素的个数,例如: int a[5]; //非法

*5 在元素为引用类型的数组中,每一个元素都要实例化,数组元素中存的是推中实例话的对象的引用,不是实体

*6动态初始化:数组定义与为数组元素分配空间和赋值操作分开进行,即先new一个数组,再往里面赋值

//补充:数组静态初始化只能在声明时同时初始化(new一个的为动态初始化)

int a[];是声明, a = new int[3]是分配空间,a[1] = 1;是赋值。

静态初始化:在定义数组时就为数组元素分配空间并赋值

int a[] = {1,2,3};Date days[] = {new Date(1,2,2012),new Date(1,2,2012),new Date(1,2,2012)};

初始化:引用类型默认空值

Date[] days = new Date[3];

System.out.println(days[2]); \输出为null;

string类和stringBuffer类:

*string类的内容是不可变的,对其进行运算变化只能把他copy出来重新组合在把引用指向它

*stringBuffer类的内容是可变的,可以对字符串进行改变进行运算直接在这个字符串的内存上操作,方法append()添加内容

*方法reverse行()进序字符串逆序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: