抽象方法能不能直接调用?
发布网友
发布时间:2022-05-12 12:20
我来回答
共4个回答
热心网友
时间:2023-10-09 01:36
抽象方法是不能调用的,原因就是抽象方法没有方法体。
当一个方法为抽象方法时,意味着这个方法应该被子类的方法所重写,否则其子类的该方法仍然是abstract的,这个子类由于继承父类,拥有抽象方法,因此它也是抽象类,即声明为abstract。abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。
如果一个类中含有abstract方法,那么这个类必须用abstract来修饰,当然abstract类也可以没有abstract方法。 一个抽象类里面没有一个抽象方法可用来禁止产生这种类的对象。
扩展资料:
在interface中所有的方法都是public abstract的,即使你没有申明它是public abstract的。在interface中所有的数据成员都是public static final的,即使你没有申明.但不能是blank final 在编译时候确定的。
在Java,interface的地位和class是一样的。实现interface的类,其interface中所有的方法必须被“实现”,否则这个类成为一个抽象类。Interface可以从多个interface得到继承,但是不能继承类。一个类可以实现多个interface。(摘自CSDN:抽象类,抽象方法和interface,作者:PeakLui)
热心网友
时间:2023-10-09 01:37
不能直接调用,需要实现了抽象方法才行。抽象方法只是给机一个写方法的规范追问我也是这么认为的,可是我遇到的问题,也就是我提的问题,确实存在,并且能够运行,还没有错,这是为什么?
热心网友
时间:2023-10-09 01:37
记住:抽象方法是不能调用的
原因就是抽象方法没有方法体。
但是,在一个类中定义了一个抽象方法,在这个类 或 这个类的子类 中是可以调用的。
为什么可以调用呢?
因为,具有抽象方法的类,一定是一个抽象类,
而抽象类在被继承的时候,必须重写这个抽象类的抽象方法,
而且,抽象类不能实例化,在使用这个抽象类的时候,使用的一定是这个抽象类的子类。
故,你在 抽象类 或 抽象类的子类 中可以使用这个抽象方法,是因为当真正实例化去使用的时候,使用的是子类重写后的实例方法。
热心网友
时间:2023-10-09 01:38
简单地说,JAVA就这么规定的。追问你是从哪知道Java是这么规定的?
请详解!!!
3Q
抽象方法能不能直接调用?
抽象方法是不能调用的,原因就是抽象方法没有方法体。当一个方法为抽象方法时,意味着这个方法应该被子类的方法所重写,否则其子类的该方法仍然是abstract的,这个子类由于继承父类,拥有抽象方法,因此它也是抽象类,即声明为abstract。abstract抽象类不能用new实例化对象,abstract方法只允许声明不能实现。...
在Java中抽象类和抽象方法的特点是什么?
抽象类不能直接new一个对象,必须写一个继承类来重写其抽象方法!同样抽象方法也不能直接调用,调用的都是具体的方法!
抽象类和抽象方法的定义
它是在抽象类中声明的,由于没有具体的实现,所以不能直接调用。我们必须在子类中实现这个方法,否则子类仍然是抽象类。抽象方法的定义格式如下:```abstract [public] [protected] 返回类型 方法名称(参数列表);```三、抽象类和抽象方法的应用抽象类和抽象方法的应用非常广泛。首先,它们被广泛应用在...
请问下,那抽象类的的静态方法,可以直接用类名点方法名,直接调用吗?
当然可以了.. 不过必须是普通方法.不能是抽象方法; 当然了抽象类里的抽象方法也不能用static声明;呵呵..不过很少有人这么写的.因为抽象类一般是用来做模板的,里面很少写实现好了的方法..一般都是抽象方法..
java中的变量或者参数可以直接调用方法吗
可以,但是对应的方法应该要有返回值。否则会编译出错。
为什么有了抽象类还要有接口
抽象类的抽象方法一定不能有实现(也就是不能有大括号),子类必须要override覆写抽象方法,从而让继承类的行为有一定规范;抽象类的方法不一定都是抽象方法,但抽象方法所在的类必须是抽象类;抽象类不能实例化,抽象类的继承类被实例化后可以直接调用抽象类的方法(抽象方法除外,抽象方法被继承类 ...
抽象类有构造方法吗?
只是抽象抚的构造方法不能直接调用 因为抽象类不能实现实例 但是一旦一个普通类继承了抽象类 便也可以在构造函数中调用其抽象类的构造函数 也可以使用其方法 可以这么理解吧 抽象类就是一个不能实例化的不同类 不过如果方法加了abstract那么就必须在子类里面重写了 问题二:为什么抽象类有构造方法,接口却...
java中 抽象类里面可以没有抽象方法吗?为什么
1.抽象类有个特点:无法被创建对象,如果抽象类里面放了很多非抽象方法,可以利用这一点!2.abstract无法和final共存修饰类;但是抽象类里面可以用final与static修饰变量和方法!3.根据上面两个特点:抽象类里面可以放一些不想被修改的方法,也不想被创建对象,又可以直接调用;也无法继承!所以就有了这样的类!(...
java类可以调用抽象类的抽象方法吗
抽象类方法的实现是在对应的子类中,抽象类(父类)对象指向子类即可调用,即new 子类而不是本身,这是多态的体现:父类只有函数头声明,而子类通过重写(“覆盖”)完成具体的实现 如public abstract Animal{ void show();} public Cat extends Animal{ override void show(){ syso ("我是子类...
什么是抽象方法?
对象不能由抽象类直接创建,只可以通过抽象类派生出新的子类,再由其子类来创建对象。当一个类被声明为抽象类时,要在这个类前面加上修饰符abstract。 在抽象类中的成员方法可以包括一般方法和抽象方法。抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说...