标题:Java的问题
只看楼主
娱乐
Rank: 2
等 级:论坛游民
帖 子:9
专家分:20
注 册:2020-2-16
结帖率:50%
 问题点数:0 回复次数:5 
Java的问题
  class A extends B{
    public static void main(String []args) {
       B b =new B(){
       public void ee(){
      
      
       System.out.println("A A");
       }
      
       };                                     //           结果为什么不是B B
           b.ee();
   
    }
}

class B{

public void ee(){
System.out.println("B B");
}
     }
搜索更多相关主题的帖子: public Java void System println 
2021-01-24 20:13
fengsheb
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-2-20
得分:0 
推荐一套tcc分布式事务调度器源码实现分析课程
主要是解决我们日常开发中微服务的分布式事务问题
是github上使用最多的tcc框架之一 https://
阿里分布式调度引擎框架的源码实现分析课程
这套框架主要是解决我们日常开发中task项目的集群问题
目前在github上有专业的团队在维护 https://
分布式调度引擎tbschedule是最成熟的。很多大厂都跑在线上
看完这套框架就是你自己写的
如有需要➕ 微youdao138000888
2021-02-20 17:10
linkeryy
Rank: 1
来 自:广东省深圳市
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-3-12
得分:0 
说说我的理解吧,首先你A类继承了B类,这个对于你下面的操作影响不大。虽然你定义了B类,默认的无参构造器确实应该是输出BB,但是你相当于重写了这个无参的构造方法,并且用这个无参构造方法new出来的b,那肯定是输出AA的。

流言止于智者,偏见来自无知。
2021-03-15 12:00
大大哟nice
Rank: 2
等 级:论坛游民
威 望:3
帖 子:15
专家分:30
注 册:2016-11-26
得分:0 
1.从编译的角度你可以发现不同
2.可以了解一下匿名内部类的概念

用javac A.java 编译你的代码会生成如下字节码
A$1.class
A.class
B.class

如果你的代码不涉及匿名内部类编译则会生成如下字节码
A.class
B.class

从上面可以看出匿名内部类似乎和B.class 没有关系;他是独立的;


2021-03-16 01:22
one737
Rank: 2
等 级:论坛游民
威 望:1
帖 子:19
专家分:18
注 册:2021-7-2
得分:0 
我们来分析一下主要代码:
程序代码:
B b = new B() {
    public void ee() {
        System.out.println("A A");
    }
};

这里的b不仅仅是B类的对象引用,更是匿名内部类的对象引用。
下一句调用
b.ee();
时,就会调用匿名内部类中的ee方法,输出"A A"。
2021-07-04 19:52
风飘无殇
Rank: 2
等 级:论坛游民
威 望:3
帖 子:24
专家分:23
注 册:2018-7-29
得分:0 
子类A重写了父类B的方法,所以打印的是A A
2021-07-30 16:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-504713-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.405007 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved