一, Java中的继承:
1. final关键字(最终的,不可修改的不可变化的,可以修饰类,方法,变量等):
如果final修饰类的话,这个类不可以被继承;
如果修饰方法的话,这个方法不可以被子类覆盖(重写);
如果修饰属性的话,该类的属性不会被自动初始化。
final修饰变量的时候只可以被赋值一次。并且在声明的时候就得赋值,可以称其为常量。在其它地方不可以被赋值。(会报错)
2. java中的super:通常用在对象内部,代表父类对象。
调用方法: super.父类方法或者属性。
在子类中通过super调用父类的方法或者属性。
如果子类的构造方法中既没有显示调用父类的构造方法,而父类有没有无参的构造方法,则编译出错。
3. Java中的Object:
Object类是java中的祖先类。
1), toString()方法;返回的对象是哈希code.
2), equals()方法:比较的是对象的引用是否只想同一内存地址。一般比较两个对象时,是比较值是否相等,因此要进行重写。
二, java中的多态:
1. 多态即对象的多重形态;
父类的引用可以指向本类的对象;
父类的引用可以指向子类的对象;
2. java中的类型转换:
1), 向上类型转换;---> 不存在风险的。
2), 向下类型转换;--->存在风险可以使用instanceof关键字解决风险问题。
3. 抽象类(abstract):
抽象类只关注子类必须有哪些方法,二不关心方法的实现。
4. java中的接口:
类是一种具体的实现体,而接口定义了某一批类必须遵循的规范,借口不关心这些类的内部数据。也不关心这些类里方法的实现细节。他只关心这些类里必须提供某些方法。是用来约束类的。用interface关键字定义
接口只是用来继承的。因此是public类型(几乎)。接口是可以多继承的,但是类是单继承的。
接口的基本语法:
【修饰符】 interface 接口名 【extends 父接口1, 父接口2 。。。】
{
零到多个常量定义。。。。。。
零到多个抽象方法定义。。。。。。
}
接口中的属性
是常量,基石在定义时不添加:
public static final 修饰符, 系统也会自动加上。
接口中的方法:
接口中的方法只能是抽象方法,总是使用,即使定义时不添加 public abstract 修饰符,系统也会自动添加。
一个类可以实现一个或者多个接口。
5. 通过匿名内部类的方法使用接口:
//使用匿名内部类实现接口
IPlayGame ip3 = new IPlayGame(){ @Override
public void playGame() {
// TODO Auto-generated method stub
System.out.println("使用匿名内部类的方式实现接口");
} };
ip3.playGame(); new IPlayGame(){ @Override
public void playGame() {
// TODO Auto-generated method stub
System.out.println("使用匿名内部类的方式实现接口2222");
} }.playGame();
}
6. UML:标准建模语言(统一建模语言)。
1), 用例图:
2) , 序列图:
3) , 类图:
UML图制作工具下载路径 Rational Rose: http://www.uml.org.cn/RequirementProject/200604043.htm Visio: http://www.microsoft.com/china/office/xp/visio/default.asp PowerDesigner http://www.uml.org.cn/UMLTools/powerDesigner/powerDesign...