|
为了方便广大考生更好的复习,小编编辑整理提供了java认证:java中的abstract基础学习,以供各位考生考试复习参考,希望对考生复习有所帮助。
abstract作为修饰符,可以修饰类和方法。
不能手动创建对象(JVM可以创建抽象类的对象),但是可以声明抽象类型的引用。
publicclassTestAbstract1{
publicstaticvoidmain(Stringargs){
//Animala=newAnimal();//error
Animala=null;
a=newDog();
}
}
abstractclassAnimal{
}
classDogextendsAnimal{
}
有方法名的定义,没有实现,(只定义了能做什么,没定义怎么做)
抽象方法的好处是允许方法的定义和实现分开。
abstractclassAnimal{
publicabstractvoideat();
}
抽象类和抽象方法的关系:含有抽象方法的类一定是抽象类,抽象类里不一定含有抽象方法
抽象类存在的意义是用来被继承的。一个类继承了一个抽象类,必须实现抽象类里面所有的抽象方法,否则,此类也是抽象类。
abstractclassAnimal{
publicvoidrun(){}
publicabstractvoidsleep();
publicabstractvoideat();
}
classDogextendsAnimal{
publicvoidsleep(){
System.out.println(“Dogsleep.”);
}
publicvoideat(){
System.out.println(“Dogeat.”);
}
}
abstractclassCatextendsAnimal{
publicvoideat(){
System.out.println(“Cateat.”);
}
}
可以声明父类类型子类对象,利用多态调用抽象方法
publicclassTestAbstract1{
publicstaticvoidmain(Stringargs){
Animala=null;
a=newDog();
a.sleep();
a.eat();
}
}
抽象类有构造方法,有父类的,也遵循单继承的规律
classE{}
abstractclassAnimalextendsE{
publicAnimal(){
super();
}
}
publicprotecteddefaultprivatestaticfinalabstract
可以连用:
publicstatic
privatestatic
publicfinal
publicstaticfinal
不可以连用:abstractfinalvoideat;
privateabstractvoideat;
staticabstractvoideat;
abstract不能和final,private,static连用
|
|