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

Java抽象类和抽象方法概述

2015-10-31 12:23 302 查看
用关键字abstract修饰类,就是抽象类。用关键字abstract修饰就是抽象方法。

对于抽象方法,只允许声明,没有方法体。而且不允许使用final和abstract同时修饰一个方法或者类,也不允许使用static修饰抽象方法,即抽象方法必须是实例方法。

1.抽象类中可以有抽象方法,也可以没有抽象方法

2.抽象方法不能被实例化,即不能被new创建对象

不能使用new来创建抽象类的对象。如果一个非抽象类是一个抽象类的子类,那么它必须重写父类的抽象方法,给出方法体,这就是为什么不能用final和abstract同时修饰一个类或方法的原因。

3.抽象类的对象作上转型对象

尽管不能用new来创建抽象类的对象,但是抽象类可以成为其子类对象的上转型对象,那么就可以调用子类重写的方法。

package com.seven.j_hbm_extends;

public class Example {
public static void main(String[] args) {
Dog dog = new Dog();//子类创建对象
System.out.println("排名是:"+ dog.paiming2());//子类调用自己的方法
dog.speak();//子类调用重写父类的抽象方法
Animal animal=dog;//父类成为子类的上传型对象
System.out.println("排名是:"+animal.paiming1());//父类调用自己的方法
animal.speak();//父类调用自己的抽象方法

}
}
abstract class Animal{
abstract void  speak();
int paiming1(){
return 1;
}

}
class  Dog extends Animal{
void speak() {
System.out.println("我是高级动物");
}
int paiming2(){
return 2;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: