java-一个Java方法的问题,求助大神了,谢谢

问题描述

一个Java方法的问题,求助大神了,谢谢

先上代码
//父类
public abstract class Parent {
public abstract void onSuccess();
public void Success(){
onSuccess();
}
}

//子类
public class child extends Parent {
@Override
public void onSuccess() {

}

}

//调用
public class diaoyong {
public void diaoyong(){
new child(){
@Override
public void onSuccess() {

        }
    };
}

}

第一个问题:我new diaoyong 类,然后调用他的diaoyong方法,为什么程序走不下去了,也不报错
第二个问题:如果能调用,为什么他找到的是Parent类方法里的onSuccess呢

解决方案

首先,你的测试代码有问题啊,你定义了一个匿名对象child,有没有其他操作,当然没有任何结果了,而且也没有main方法,所以测试不了。
其次,虽然不明白你的diaoyong 类的用意,但是猜测可能你是想测试多态。修正下你的child类,去掉diaoyong类。修正如下:

 public class child extends Parent {
    @Override
    public void onSuccess() {
        System.out.println("Child onSuccess 实现父类onSuccess");
    }

    public static void main(String[] args) {
        Parent parent = new child();
        parent.onSuccess();
    }
}

多态的本质是你定义的是父类类型的变量,并且赋值为一个子类的实现,那么调用某个方法时,实际上是运行时子类类型的方法。

解决方案二:

写了个空程序,就像
public static void main(String[] args) {
System.out.println();
}
你问我为什么没结果。。。。。。

解决方案三:

你的是怎么调用的啊,测试是可以调用的啊

解决方案四:

new child() 没做什么事,没反应很正常

解决方案五:

 public abstract class Parent {
        public abstract void onSuccess();
        public void Success(){
            onSuccess();
        }
    }
 public class child extends Parent {
        @Override
        public void onSuccess() {
            System.out.println("this is child class");
        }
    }
 public class diaoyong {
        public void diaoyong(){
            new child(){
                @Override
                public void onSuccess() {
                    System.out.println("this is diaoyong.child class");
                }
            }.onSuccess();;

        }
    }
 public class Test {

    public static void main(String[] args){
        Parent parent = new child();
        parent.onSuccess();

        child child1 =new child();
        child1.onSuccess();

        diaoyong dy =new diaoyong();
        dy.diaoyong();
    }
 }

解决方案六:

根本没有调用

解决方案七:

程序没有错,在调用是时候onSuccess方法里面什么也没做。感觉上没运行,实际上程序已经跑完啦

解决方案八:

用syso打印一下不就知道掉没调用咯

时间: 2024-08-03 00:55:50

java-一个Java方法的问题,求助大神了,谢谢的相关文章

jdk-topcoder的java客户端一直被安全拦截求助大神

问题描述 topcoder的java客户端一直被安全拦截求助大神 名字为ContestAppletProd的JNLP文件,总被java拦截,但是我已经在java控制面板中将他设置成了"例外站点"可以信任,甚至可信的证书里面也能找到topcoder不知道为什么登陆总是出现问题,而且问题是平均打开十次有一次是能登陆成功的...这就更加迷醉了,求教各位大神,先谢谢了这是偶然一次登陆成功 解决方案 运营商经常会劫持和干扰ssl连接,建议你用vpn.

安卓应用开发-求助大神。。。。。。。。

问题描述 求助大神........ 开发安卓系统用java什么版本好..求助大神.................... 解决方案 jdk1.7或者jdk1.8就行了 解决方案二: 开发安卓系统,按 Android 系统的版本来选择,Android 系统对 Java SDK 有一定的要求的. 解决方案三: haaaaaaaaaaaaaaaaaaa 解决方案四: jdk 1.7 jdk 1.8 都可以. 解决方案五: JDK1.7以上的版本吧. 解决方案六: jdk1.7或jdk1.8都行 解决方

求助大神,初学者一窍不通java

问题描述 求助大神,初学者一窍不通java 在控制台输入一串数字,数字之间有一个空格,比如12 23 36 56 31:经过比较数字大小之后,按大小顺序输出,怎么写代码? 解决方案 更简单点,不用写冒泡排序,将输入的数字放入一个int[]数组中,使用Arrays.sort()方法,然后遍历输出即可! 解决方案二: public static void main(String[] args) { int a[] = { 12, 23, 36, 56, 31}; for (int i = 0; i

java +-Java怎么实现一个目录工具类,求大神指点

问题描述 Java怎么实现一个目录工具类,求大神指点 最近我们主管给我布置了一个任务,让我做一个目录类,单位其他同事谁用到就直接调用就可以了.但是现在我一点头绪都没有,不知道咋下手. 首先有个根目录/surfs,根目录下面有ABCD四个子目录,分别点击ABCD四个目录时要进行判断是否初始化,如果已经初始化,会生成16个子目录,子目录也同样这么判断.每个目录都有一个唯一的ID,通过UUID获取.根目录和子目录的关系是 比如根目录是abcdefg,那么他下面的目录依次是abcdefg/cdefg/e

java网络编程-打算做一个学习辅助工具箱,求大神给点设计思路,打算用JAVA做

问题描述 打算做一个学习辅助工具箱,求大神给点设计思路,打算用JAVA做 学习辅助工具箱里包括多功能计算器,还有数字逻辑实验模拟器,矩阵算法等等小工具.求大神给点设计的详细思路跟解决方案. 解决方案 你说的这些功能都可以google到. 特别地,你可以用 site:download.csdn.net + 你需要的程序 + java,限定只在csdn下载频道查找. 多学习些google的搜索技巧,你的效率会大大提高. 解决方案二: 一个功能一个功能的实现,最后拼凑起来

java中注解的问题,求大神指教,膜拜

问题描述 java中注解的问题,求大神指教,膜拜 就像这个应该是注解吧.在另一个类中调用属性值得时候,为什么是用的get/set方法,不是在私有化的时候才需要get.set方法么.而且在别人的电脑上能运行,在我的电脑上就报错. 解决方案 因为spring中大多注入的时候都是通过set方法 解决方案二: 那为什么在我的电脑上就报错呢 我自己再把public修改成私有的在加上get/set方法就没事了 解决方案三: 一般来说,定义属性的时候有私有的 通过公有的get/set获取私有属性或者给私有属性

有关使用cult3d制作一个机械虚拟拆装系统的问题!求助大神 望不吝赐教。。。

问题描述 有关使用cult3d制作一个机械虚拟拆装系统的问题!求助大神 望不吝赐教... 软件中自带了鼠标左键点击触发事件,我制作的效果是:点击了需要拆离的零件,然后被点击的零件会按照我所设定的位移距离,旋转角度和时间离开整体.现在我想问的是能不能将鼠标左键点击触发的形式改为鼠标左键点住零件并拖动离开整体?因为软件里不具备这个功能,要用java写?

java代码-java引用数据类型的问题,请大神解释下标注的问题.....

问题描述 java引用数据类型的问题,请大神解释下标注的问题..... import java.util.Scanner; public class Bank implements Runnable { Acount acount; public Bank(Acount a) -->这个构造方法的含义? { this.acount=a; } public void run() { Scanner input=new Scanner(System.in); System.out.println(&qu

编程-java菜鸟程序员提问:求大神给我说说线程在什么场景下用,以及多线程工作原理。谢谢

问题描述 java菜鸟程序员提问:求大神给我说说线程在什么场景下用,以及多线程工作原理.谢谢 现在java线程编程应用广泛吗?哪些时候适合或必须要用多多线程编程呢?多线程的工作原理是怎样的呢?求大神们指导指导,谢了! 解决方案 (1)线程的工作场景主要有两条: 一个是并发操作,避免阻塞和更有效利用资源.典型的例子有:在长时间工作的程序中使用工作线程避免界面失去响应.在网络下载程序中,使用多个线程提高对网络的使用效率,更快下载文件. 一个是并行,线程是处理器调度的最小单位.如果你的计算机配置了多个