为了账号安全,请及时绑定邮箱和手机立即绑定

Java中,构造方法,创建两个对象的时候,找不到符号了。。自学,求解。。

Java中,构造方法,创建两个对象的时候,找不到符号了。。自学,求解。。

慕田峪9158850 2019-03-01 11:12:32
public class Lan{ public static void main(String []agrs){ /* Person p1=new Person(); p1.age=8; p1.Test(); System.out.println("第一个为"+p1.age); 创建这一个的时候就不行,提示找不到符号,在“Person p1=new Person()”的new这里提示的,去掉可就没问题。。 */ Person p2=new Person(7,"小五"); p2.Test(); p2.jisuan(); System.out.println("第二个为"+p2.age); } } class Person{ int age; String name; public void jisuan() { int i=2; System.out.println(i); } public void Test(){ System.out.println("做测试1"); } Person(int age,String name){ this.age=age; this.name=name; } }
查看完整描述

6 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

没写默认构造器啊

查看完整回答
反对 回复 2019-03-01
?
米脂

TA贡献1836条经验 获得超3个赞

回复一下楼上,什么时候java不写访问修饰符变成private了?难道我用的是假java?

查看完整回答
反对 回复 2019-03-01
?
九州编程

TA贡献1785条经验 获得超4个赞

当你显示 的写了 构造器 。 是不会生成 默认构造器的。
添加 就可以了 Person(){

  
}

注意
当一个类你重写了构造器 一定要重写 为空的 构造器。
因为有些框架 在反射创建对象的时候 会去找这个默认的构造器。

还有那 Test() 方法请修改为test().

查看完整回答
反对 回复 2019-03-01
?
达令说

TA贡献1821条经验 获得超6个赞

Person类的带参数的构造方法覆盖了默认的构造方法。
注:默认的构造方法是没有参数的
所以如果这么用:Person p1=new Person();
需要在Person类指定无参的构造器。或者直接去掉带参数的构造器。

查看完整回答
反对 回复 2019-03-01
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

因为你在Person类中定义了构造函数,所以默认的构造函数Person()就不会创建了,而是采用你自定义的构造函数。
你也可以用函数重载,再写一个构造函数Person().

查看完整回答
反对 回复 2019-03-01
?
慕后森

TA贡献1802条经验 获得超5个赞

补充:不要用拼音

查看完整回答
反对 回复 2019-03-01
  • 6 回答
  • 0 关注
  • 832 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信