1 / 30
文档名称:

抽象方法.ppt

格式:ppt   大小:646KB   页数:30页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

抽象方法.ppt

上传人:luyinyzhi 2018/2/28 文件大小:646 KB

下载得到文件列表

抽象方法.ppt

相关文档

文档介绍

文档介绍:抽象方法、抽象类与接口
抽象方法
抽象类
接口
抽象方法 ——只有声明,没有实现的方法
父类声明方法签名 (方法名、参数、返回类型、修饰符)
子类重写次方法,并提供方法体实现
包含抽象方法的类 叫做“抽象类”
抽象类不能实例化 (不能 new Shape() )
抽象类也可以包含非抽象方法
Shape
abstract draw( )
Circle
draw( ) { …}
Rectangle
draw( ) { …}
抽象方法的语法示例
没有花括号方法体
加“abstract”修饰符
abstract class Shape {
abstract public void draw( ) ;

}
抽象方法与多态
Shape s; s = new Shape() //错误!
s = new Circle(); (); //画圆
s = new Rectrangle(); (); //画矩形
接口(Interface) ——即纯抽象类,只有抽象方法,无其它实体方法
接口与抽象类的区别:
接口里面的方法必须全都是抽象的,而抽象类则不然。
一个子类可实现(继承)多个接口,但最多只能继承一个类。
Person
void speak( ) {..}

abstrract void 妖法( )
class
interface
人妖
void 妖法( ) {..} //void 仙法( ) { …}
间接实现多继承
接口的实现(继承)
一个子类可以实现多个接口
子类必须实现接口中所有的abstract方法
实例– Animal 抽象类
abstract class Animal { //定义抽象类
String str;
Animal(String s) { //定义抽象类的一般方法
str=s;
}
abstract void eat(); //定义抽象方法
}
实例- Horse 子类
class Horse extends Animal { //定义继承Animal的子类
String str;
Horse(String s) {
super(s); //调用父类的构造方法
}
void eat() { //重写父类的抽象方法
("马吃草料!");
}
}
实例- Dog 子类
class Dog extends Animal {
String str;
Dog(String s) {
super(s);
}
void eat() {
("狗吃骨头!");
}
}
实例- Test 测试
class test {
public static void main(String args[]) {
Horse Horse1 = new Horse("马");
Dog Dog1 = new Dog("狗");
();
();
}
}
运行结果:
马吃草料!
狗吃骨头!