A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Senmonfy 中级黑马   /  2016-3-13 21:51  /  386 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Student
{
private String name;
private int age;
public Student(){
}
public Student(String name,int age){
  this.name = name;
  this.age = age;
}
public void setName(String name){
  this.name = name;
}
public String getName(){
  return this.name;
}
public void setAge(int age){
  this.age = age;
}
public int getAge(){
  return this.age;
}
public void show(){
  System.out.println(this.name + "----" + this.age);
}
}
class Demo
{
public static void main(String[] args)
{
  Student stu1 = new Student();
  stu1.set....
  Student stu2 = new Student("sss",18);
  stu2.show();
}
}
程序中无参构造函数有什么用,能删掉不写吗?
求大神说一下构造函数的作用

3 个回复

倒序浏览
构造函数是用来创建和初始化对象(属性)的。要不要无参构造函数那就要看你需要啦,如果你没有无参构造函数的话,就不能用“Student stu1 = new Student();”来创建对象,new Student(这里必须带相应的参数);
回复 使用道具 举报
构造函数是用来创建和初始化对象(属性)的。要不要无参构造函数那就要看你需要啦,如果你没有无参构造函数的话,就不能用“Student stu1 = new Student();”来创建对象,new Student(这里必须带相应的参数);
++1; 确实.
回复 使用道具 举报
个人理解构造器是用来创建对象的一个临时容器,只要创建对象就必须通过构造器创建并初始化成员变量,无参构造因为没有参数就可以只创建对象而不需要给定初始化值
比如Student s = new Student();
如果手动给出且只写有参构造,那就只能通过有参构造来创建对象
比如Student s = new Student(name , age);
此时再使用Student s = new Student();创建对象的话系统会因为找不到匹配的构造方法而编译报错
个人拙见,希望能帮到楼主
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马