java抽象方法 什么是java抽象方法
你是否想了解更多关于java抽象方法和什么是java抽象方法的知识?在本文中,小编将为您详细介绍这两个话题,帮助您更好地理解。
什么是java抽象方法
抽象方法如下例子:
abstract Class A(){//抽象类
abstract void a();//抽象方法,没有方法体
}
注:1.抽象类或者接口不能被实例化;
2.有抽象方法的类一定是抽象类或者接口;
3.抽象类可以有不是抽象的属性跟方法;
4.子类继承抽象类必实现其抽象方法,除非子类是抽象类;
左上角有我头像,有很多有趣的朋友在一起讨论交流;
java抽象类中可以定义静态的抽象方法吗为什么
不可以。
我是这样理解的:抽象类是不能实例化的,即不能被分配内存,而static修饰的方法在类实例化之前就已经别分配了内存,这样一来矛盾就出现了:抽象类不能被分配内存,而static方法必须被分配内存。所以抽象类中不能有静态的抽象方法。
这和接口是一样的,接口中的方法也只能是 public abstract修饰的,不能加上static。
Java哪些类可以有抽象方法
在Java中,只有抽象类和接口可以定义抽象方法。
抽象类是一个不能被实例化的类,通常用于被其他类继承。
抽象类中可以定义抽象方法,这些抽象方法只有方法的声明,没有方法的实现。
子类必须实现抽象类中所有的抽象方法才能被实例化。
接口是一组方法的声明,但是没有方法的实现。
接口中的方法默认都是抽象方法。类实现接口时,必须实现接口中定义的所有方法。
因此,只有抽象类和接口可以定义抽象方法。其他类中的方法必须有方法的实现。
请问java中怎样调用抽象类中的非抽象方法
楼上的没有正面回答。想调用BaseStudentDAO中的非抽象方法load,如果load方法是static的,则可以直接BaseStudentDAO.load()就可以了;如果是非static的则必须需要一个继承的非抽象类,然后用这个非抽象类的实例来调用load方法,或者这个非抽象类的实例被cast成BaseStudentDAO,然后调用。
如:继承BaseStudentDAO的非抽象类:BaseStudentDAOSub,可以用一下方法调用:
1、BaseStudentDAOSub bsds= new BaseStudentDAOSub(); bsds.load();
2、BaseStudentDAO bsd= new BaseStudentDAOSub(); bsd.load();
当然,也要考虑这个方法应该是public或protected的。如果是private的就一切免谈了。
关于java抽象方法和什么是java抽象方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。