Java程序员排行前10的错误,你有没有中?

2021-02-19    分类: 网站建设

来源:http://h5ip.cn/SikV(本文为译文)

今日份干货分享,大家赶紧get起来!

这个列表总结了10个Java开发人员最常犯的错误,是我基于大量的github上的开源项目,Stack overflow上的问题,还有一些流行的google搜索的分析,没有明显示的评估证明它们是前10,但它们绝对是很常见的。

之所以出现这个编译错误,是因为父类的默认构造方法未定义。在Java中,如果一个类没有定义构造方法,编译器会默认插入一个无参数的构造方法;但是如果一个构造方法在父类中已定义,在这种情况,编译器是不会自动插入一个默认的无参构造方法,这正是以上demo的情况;

对于子类来说,不管是无参构造方法还是有参构造方法,都会默认调用父类的无参构造方法;当编译器尝试在子类中往这两个构造方法插入super()方法时,因为父类没有一个默认的无参构造方法,所以编译器报错;

要修复这个错误,很简单:

1、在父类手动定义一个无参构造方法:

public Super(){

System.out.println("Super");

}

2、移除父类中自定义的构造方法

3、在子类中自己写上父类构造方法的调用;如super(value);

10.“”还是构造方法

有两种创建字符串的方式:

//1. use double quotes

String x = "abc";

//2. use constructor

String y = new String("abc");

它们之间有什么区别呢?

以下代码提供了一个快速回答:

String a = "abcd";

String b = "abcd";

System.out.println(a == b); // True

System.out.println(a.equals(b)); // True

String c = new String("abcd");

String d = new String("abcd");

System.out.println(c == d); // False

System.out.println(c.equals(d)); // True

名称栏目:Java程序员排行前10的错误,你有没有中?
分享路径:https://www.cdcxhl.com/news/101779.html

成都网站建设公司_创新互联,为您提供网页设计公司建站公司品牌网站设计网站策划移动网站建设做网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站优化排名