通过继承,子类获得父类的变量和方法。
在Java中,只声明而没有实现的方法称为抽象方法,其语法规则如下:
abstract <返回值类型> <抽象方法名>([<形式参数列表>])
用abstract修饰的类称为抽象类,其语法如下:
[访问修饰符]abstract class <.类名>{
……
}
抽象类具有以下特性:
1):含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被实现。
2):抽象类中不是所有的方法都是抽象方法,可以在抽象类中声明并实现方法。
3):抽象类的子类必须实现父类的所有抽象方法后才能实例化,否则这个子类也成为一个抽象类。
4):抽象类不能实例化。
package javademo;
abstract class Animal{
void sleep(){
System.out.println("animals sleep!");
}
abstract void run();//抽象方法
}
class Dog extends Animal{
void run(){//实现抽象类
System.out.println("dog run fast!");
}
}
public class TestAbstract {
public static void fun(Animal a){
a.sleep();
a.run();
Dog d;
d = (Dog)a;//向下转型
d.sleep();
d.run();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog d = new Dog();
TestAbstract.fun(d);
}
}