/**
* Created by xabcd on 2019/2/14.
*/
public class Person4
{
private String name;
private int age;
public Person4(String n,int a)//将传入的值赋给Person3的属性,即上面两行
{
name = n;
age = a;
System.out.println("plblic Person(String n,int a)");
}
public String talk()
{
return "我是:"+name+",今年:"+age+"岁";
}
public static void main(String[] args)
{
Person4 p = new Person4();//此处一定要传递参数进去,否则报错!
System.out.println(p.talk());
}
}
/**
* Created by xabcd on 2019/2/14.
*/
public class Person4
{
private String name ="我";
private int age =22;
public Person4()//将传入的值赋给Person3的属性,即上面两行
{
;
System.out.println("plblic Person(String n,int a)");
}
public String talk()
{
return "我是:"+name+",今年:"+age+"岁";
}
public static void main(String[] args)
{
Person4 p = new Person4();
System.out.println(p.talk());
}
}
//删除参数后运行成功
结果:
我是:我,今年:22岁
后面声明一行无参代码也可:
public Person4()
{}
运行结果:
我是:null,今年:0岁
在 编译程序 第 21 行( Person p = new Person()) 时 发生了 错误, 这个 错误 说 找 不到 Person 类 的 无 参 构造 方法。 在前面 曾经 提 过, 如果 程序 中 没有 声明 构造 方法, 程序 就会 自动 声明 一个 无 参 的 且 什么 都 不做 的 构造 方法, 可是 现在 却 发生了 找 不到 无 参 构造 方法 的 问题, 这是 为什么? 读者 可以 发现 第 5 ~ 10 行 已经 声明 了 一个 含有 两个 参数 的 构造 方法。 在 Java 程序 中 只要 明确 地 声明 了 构造 方法, 那么 默认 的 构造 方法 就不 会被 自动 生成。 而要 解决 这一 问题, 只需 要 简单 地 修改 一下 Person 类 就可以 了, 可以 在 Person 类 中 明确 地 声明 一无 参 的 且 什么 都 不做 的 构造 方法。