Java调用一个不存在的方法

问题描述

Java调用一个不存在的方法
请各位大神帮我解释一个问题,先看代码,谢谢!

 abstract class Base{ abstract public void myfunc(); public void another(){ System.out.println(""Another method""); }  } public class Abs extends Base{ public static void main(String[] args){ Abs a=new Abs(); a.amethod(); } public void myfunc(){System.out.println(""My Func"");}

试卷上的一道题目,结果是可以编译和运行,输出的结果是“My Func”
我的疑问是上面的程序当中并没有出现amethod为什么可以调用它

解决方案

只能说抽象类的父类中有这个方法,是继承过来的,否则是无法编译和运行的。

解决方案二:
你这个Abs继承了Base后并实现了Base里的抽象方法。
但是Base里并没有amethod方法。
而你在Abs里有个程序的执行入口Main方法而你在这个Main方法里实现的对象是这个类的本身并且调用了这个类本身的一个
方法amethod。如果程序可以执行那么也就是说当执行到这个方法时在这个本类里可以自动创建一个这个默认的方法吧。
但是这个方法是没有意义的因为它没有做任何的事情的。你研究明白了用处可能也不大的。

时间: 2024-11-03 22:01:06

Java调用一个不存在的方法的相关文章

java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗

问题描述 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 解决方案 加入你有一个对象 Object 里面有个方法:public void method1(); 那你调用这个方法的时候就是 object.method1(); 那么这里就表示 没有返回值. 所以我里面的void就是 :没有返回值,这个方法不能做他用! 对比 有一个object 里面有一个方法: publ

Java调用linux shell脚本的方法_java

首先,我们需要增加用户对该脚本的执行权限,即 复制代码 代码如下:  String cmdstring = "chmod a+x test.sh";  Process proc = Runtime.getRuntime().exec(cmdstring);  proc.waitFor(); //阻塞,直到上述命令执行完  cmdstring = "bash test.sh"; //这里也可以是ksh等  proc = Runtime.getRuntime().exe

java 中一个集合用toArray方法转换成数组的问题

问题描述 在java源码中写道:publicObject[]toArray(){//Estimatesizeofarray;bepreparedtoseemoreorfewerelementsObject[]r=newObject[size()];Iterator<E>it=iterator();for(inti=0;i<r.length;i++){if(!it.hasNext())//fewerelementsthanexpectedreturnArrays.copyOf(r,i);r

java调用未知类的指定方法简单实例_java

复制代码 代码如下:     /**     * 获取任意对象里面的returnMapObject的值.并且组成list     * @param <T>     * @param list     * @param fields     * @return     * @throws Exception     */    @SuppressWarnings("unchecked")    public static <T> List<Map<St

javascript-如何实现一个js调用另外一个js中的方法

问题描述 如何实现一个js调用另外一个js中的方法 两个js文件分别有一个方法写在$(function(){ 方法...}),如何实现一个js调用另外一个js中的方法.调用方法就会报错:Uncaught ReferenceError: addNode is not defined 解决方案 ?? 例如一个test.js内容如下:function main( input ){?? return input;}在C++中调用方法如下:// vcJscript.cpp : 定义控制台应用程序的入口点.

java调用ant工具

java调用ant Ant是Java程序员的一个好的工具,主要可以帮助程序员进行java项目的的管理,包括批量编译.部署.文档生成等工作,其用途远不止如此,ant内置了大量的API进行各种文件系统操作,在各种应用服务器中都被广泛应用于程序和资源的部署. Ant功能强大的地方在于,程序员不仅能通过编写Ant的脚本(build.xml)来进行各种文件部署管理操作,还可以通过调用Ant的丰富的API,甚至扩展Ant的API进行编程. 用于介绍Ant 脚本编写的书比较多,而介绍Java 调用 Ant A

Java调用浏览器打开网页完整实例

  本文实例讲述了Java调用浏览器打开网页的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 package com.yifang.demo; import java.io.File; public class OpenPageDemo { public static void main(String[] args) { try { //String

怎么引入(调用)一个JS文件_javascript技巧

我们旺旺需要调用别的 js文件.怎么处理? 看随机抽取这个例子.在一个页面中如下: <html> <head> <title>random number</title> <script type="text/javascript"> //随机抽取人名 </script> </head> <body> <form> <input type="button"

java调用python时报错。

问题描述 java调用python时报错. 我在用java调用一个main.py文件时报错,但是在同样的路劲下调用搜狗的.exe文件能运行 public static void main(String[] args) { Runtime rn = Runtime.getRuntime(); Process p = null; try { // PythonInterpreter interpreter = new PythonInterpreter(); // InputStream filep