java构造方法(有参和无参注意事项):

2019年2月14日23:01:37 发表评论 952 views
/**
 * 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 类 中 明确 地 声明 一无 参 的 且 什么 都 不做 的 构造 方法。

 

 

 

 

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: