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

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

  •  
  •   lizhiping886 · 174 天前 · 2159 次点击
    这是一个创建于 174 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    chendy
        1
    chendy   174 天前
    没有报错…不知所措…
    leonme
        2
    leonme   174 天前 via Android
    没有报错,另外注意类名命名规范
    ninjachen
        3
    ninjachen   174 天前 via Android
    感觉不会报错。
    类名首字母大写
    oneisall8955
        4
    oneisall8955   174 天前 via Android
    不会错吧,看着没毛病。另外,注意命名规范
    难不成是 jdk 的锅?
    lizhiping886
        5
    lizhiping886   174 天前
    我换个 jdk 试试
    LeeSeoung
        6
    LeeSeoung   173 天前
    在 JDK 8\11\12 都正常运行。还有注意类名首字母大写。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1500 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 01:13 · PVG 09:13 · LAX 17:13 · JFK 20:13
    ♥ Do have faith in what you're doing.