首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

一个很神奇的问题 为什么会报 Java .lang.InstantiationError 错误呢?

  •  
  •   lizhiping886 · 74 天前 · 1551 次点击
    这是一个创建于 74 天前的主题,其中的信息可能已经有所发展或是发生改变。
    public class findDupicate {
    
        public static void main(String[] args) {
    
            animal i1 = new animal();
            cat i2 = new cat();
            
    
        }
    
    }
    
    class cat {
        public int age = 1;
    
        public cat() {
            System.out.println("this cat init ");
        }
    
        public void bark(){
            System.out.println("this is animal");
        }
        
    }
    
    class animal {
        public int legNum = 1;
    
        public animal(){
            System.out.println("this animal init ");
        }
    
        public void bark(){
            System.out.println("this is animal");
        }
    }
    
    

    输出是这样的

    this animal init 
    Exception in thread "main" java.lang.InstantiationError: cat
    	at findDupicate.main(findDupicate.java:6)
        
    

    为什么 animal 可以实例化成功 而 cat 不行呢?

    jdk 版本是 open-jdk 12

    6 回复  |  直到 2019-08-07 09:40:22 +08:00
        1
    chendy   74 天前
    没有报错…不知所措…
        2
    leonme   74 天前 via Android
    没有报错,另外注意类名命名规范
        3
    ninjachen   74 天前 via Android
    感觉不会报错。
    类名首字母大写
        4
    oneisall8955   74 天前 via Android
    不会错吧,看着没毛病。另外,注意命名规范
    难不成是 jdk 的锅?
        5
    lizhiping886   74 天前
    我换个 jdk 试试
        6
    LeeSeoung   74 天前
    在 JDK 8\11\12 都正常运行。还有注意类名首字母大写。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2159 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 06:30 · PVG 14:30 · LAX 23:30 · JFK 02:30
    ♥ Do have faith in what you're doing.