麻烦大神帮我看看哪里出错了(Java基础)

public class www
{ public static void main(String []args)
{

People p1=new People("小明",28,c1);
People p2=new People("小红",25,c1);
Baby c1=new Baby("宝贝",5);

p1.renming();
c1.renming();

}}

class People
{
String name;
int age;
Baby baby;

public People(String name,int age,Baby baba)
{ this.name=name;
this.age=age;
this.baby=baby;}

public void renming()
{ System.out.println("名字叫做:"+this.name);}

}

class Baby
{
String name;
int age;

public Baby(String name,int age)
{ this.name=name;
this.age=age;}

public void renming()
{ System.out.println("婴儿的名字叫做"+this.name);}
}

People p1=new People("小明",28,c1);
People p2=new People("小红",25,c1);
Baby c1=new Baby("宝贝",5);

Baby c1=new Baby("宝贝",5);这句话得在上面两句话的前面
谢谢

同问,放前面跟后面有区别吗?

没看到people构造调用了c1吗?

在编译之前是有关系的 因为 java语法要求 你在使用一个变量之前必须得有相对明确的定义
建议看下java的变量生存周期方面的知识 但是jvm编译之后 会因为执行效率对执行顺序有
一定的改变