知方号

知方号

Java 抽象类和抽象方法的定义及调用

抽象类、抽象方法具体的定义和调用 如何调用抽象类中的抽象方法什么是抽象类?抽象类中只能是抽象方法吗? 什么是抽象方法?如何去调用抽象类中的抽象方法?关于子类重写父类抽象方法的注意事项

如何调用抽象类中的抽象方法

首先就要明白抽象类的定义?抽象方法的定义? 理解透彻之后我们在了解调用抽象类中的抽象方法

什么是抽象类?

抽象类,是带有(abstract) 修饰的类,abstract修饰的类中不能用new创建对象(也就是“不能实例化”)

抽象类中只能是抽象方法吗?

不是的,抽象类中的方法可以包含抽象方法,也可以是其他默认方法 例如:

Public abstract class Animal{//带有abstract修饰的类,就是抽象类//Student student = new Student();//在抽象类中是不能创建对象的} 什么是抽象方法?

抽象方法,是在抽象类中,也是带有(abstract)修饰的方法(没有方法体),含有抽象方法的类一定是抽象类,例如;

Public abstract class Animal{public abstract void say();public abstract void eat();public abstract void sleep();//抽象方法没有方法体} 如何去调用抽象类中的抽象方法?

调用抽象类中的抽象方法,可以用继承(extends)创建子类的方法,用子类去重写(必须要重写)父类的抽象方法,这样就可以调用抽象方法。例如:

Public class Dog extends Animal{public void say(){System.out.print("wang! wang! wang!");}}Public class Run{public start void main(String[] args){say();//经过extends的重写,可以去调用子类中的方法,以此,输出结果是:wang! wang! wang! }} 关于子类重写父类抽象方法的注意事项

如果子类将父类的抽象方法全部都重写完毕,那么子类就可以实例化了,如果子类未能将父类的抽象方法全部重写,那么子类依旧是抽象类,所以必须将修饰符(abstract)加上,例如:

Public abstract class Cat extends Animal{public void say(){}//现在我们只重写了父类的一个方法并未将其所有的方法全部重写,所以子类仍然是抽象类}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。