17.this与super
this
- 访问当前对象的数据成员 this.数据成员
- 访问当前对象的成员方法 this.成员方法(参数)
- 引用该类的构造方法 this.(参数)
super
- 访问父类隐藏成员 super.数据成员
- 调用直接父类被覆盖的成员方法 super.成员方法(参数)
- 调用直接父类的构造方法 super.(参数)
18.构造方法的重载和继承
重载
this(参数)——同名函数调用方法
继承
1.子类承父类。
2.子类无构造方法,继承父类无参数构造方法;子类有构造方法,则先执行父类后执行子类。
3.子类调用父类含参数构造方法,用super引导,且其必为子类构造方法的第一个可执行语句
19.抽象类和接口
**抽象类:**可理解为包含许多子类的一个大类,用abstract修饰(只能单独存在,不可与static,final等同时存在)
**接口:**可理解为一种特殊的类,关键字为interface(可以储存属性【抽象类】,不同东西属性可能需要重新定义)
格式:public或(空)interface XX [extends 父接口]
{
常量数据成员
抽象方法声明
}shengming
接口的继承——实现(也具有继承性,用extends关键字)
**用类实现接口:**类 implements 接口名 [,接口,…]
19.包和程序复用
包——库中的类
**作用:**划分类名空间;控制类之间的访问
1. 创建包(就是在当前文件夹下创建子文件夹)
package shape
package shape.shapeCircle(“.”是目录分隔符,sC是s下的子文件夹)
【可以创建一个包放不同的文件,对其文件进行编译后,即可引用自己创建的包,例:import xx.*;】
2. 包的引用
引用类前加包名
同一包:直接用
不同包:类前加包名
用import加载需要用的类,例:import 包.类
用import加载整个包,例:import 包
设置CLASSPATH环境变量——根据其指明路径寻找包
20.数组(与C语言类似)
声明
初始化:
-
用new初始化数组,例:(数组)a=new int[9]
查找: -
顺序查找(逐一比较,效率低)
-
二分查找(与有序表中间值作比较,再找左边或右边的中间值)
数组长度:
-
数组名.length——测行数 数组名[i].length——测列数
排序: -
冒泡排序
-
选择排序
二维数组(与C语言类似)
21.String
访问字符串对象
length() 测长度
charAt(int index)
返回下标为index的字符,如:char c1="12ABG“.charAt(3)
输出:B
indexOf(int ch)
返回字符的下标,如:”abcd“.indexOf(“c”)
输出: 2
indexOf(String str,int fromIndex)
在字符串中找子串,从第二个参数(下标)找起,返回找到的下标,如:“abcd”.indexOf(“cd”,0)
输出:2
substring(int beginIndex,int endIndex)
返回字符串,若无该字符串,则返回-1
比较
equal()
比较,相同返回true,不同返回false
equalsIgnorecase()
同上,但不区分字符串之间的大小写
compareTo()
返回Ascii码差值
操作
concat()
前.~(后)连接
replace()
替换,(‘e’,‘r’)——把e换成r
toLoweCase()
大写换小写
toUpperCase()
小写换大写
转换
valueOf()
将其他类型转换为字符串
22.StringBuffer(有缓冲区)
length()
返回长度
charAt()
返回字符
capacity()
返回当前缓冲区长度
append()
将字符串添加到当前字符串后面
insert()
将子串插入字符串
setcharAt()
固定字符,固定更改(下标,‘更改’)
链表——具有线性关系的链接存储结构
顺序存储
链接存储