构造函数,分为有参和无参
public class Student{
private String name;
private String password;
//无参
public Student(){
}
//有参
public Student(String name){
this.name=name;
}
}
为什么要有构造函数???
我先提一点。就是在我们没建构造函数的时候,会调用系统默认的无参构造函数。
构造函数的优点。
1.减少代码量。
2。减少错误匹配,增加限制
分别说上面两点
1.比如你如果没有构造函数,
需要
Student stu=new Student();
stu.setName("name");
stu.setPasswrod("01028");
相比
Student stu=new Student("name","010268");
哪个简单的?一比就出来了。特别是多个参数的时候
第2点。
比如我现在去掉无参的构造函数。
我的需求是没个学生创建对象的时候要有名字和密码。
Student stu=Student();//这个编译不过去。报错。
Student stu=Student("name","01026891");
是从严谨和安全的角度
原文地址:http://zhidao.baidu.com/question/321151945.html
分享到:
相关推荐
构造函数可以有参数,也可以没有参数。如果类中没有显式定义构造函数,那么编译器通常会为我们定义(合成)一个默认的构造函数。 复制构造函数是一种特殊的构造函数,它的主要作用是将一个对象的状态复制到另一个...
构造函数本身就是要初始化实例,那使用虚函数也没有实际意义呀。所以构造函数没有必要是虚函数。虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而构造函数是在创建对象时...
C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现 1.构造函数 构造函数是一种特殊的类成员函数,是当创建一个类的对象时,它...
首先,我们需要理解什么是复制构造函数。复制构造函数是一个特殊的构造函数,它在创建新对象时,使用已存在的对象作为参数。它的签名通常是`ClassName(const ClassName &other)`,其中`ClassName`是类的名称。复制...
构造函数可以被重载,这意味着一个类可以有多个构造函数,但每个构造函数的参数列表必须不同。 在提供的代码示例中,定义了一个名为`Student`的类,其中包含了一个构造函数: ```cpp Student(int n, string nam, ...
构造函数是一个与类同名的方法,可以没有参数,有一个参数或多个参数,但是构造函数没有返回值。如果构造函数没有参数,该函数被称为类的默认构造函数。 (1) 一个类可以包含多个构造函数,各个构造函数之间通过...
没有合适的默认构造函数,默认构造函数怎么写?为什么这样写?没有写赋值构造函数
在C++编程中,对象的构造过程涉及到多个层面,包括对象成员构造函数、基类构造函数以及派生类本身的构造函数。理解它们的执行顺序对于编写健壮的代码至关重要。以下将详细阐述这三个构造函数的调用时机和逻辑。 1. ...
缺省构造函数是指在定义类时没有定义构造函数的情况下,编译器自动产生的一个构造函数,该函数什么事也不做。其形式为:<类名>::<类名>(){}。 拷贝构造函数是一种特殊的构造函数,它的功能是用一个已知的对象来初始...
构造函数可以有多种形式:默认构造函数、带参数的构造函数、拷贝构造函数以及移动构造函数。这些构造函数负责设置对象的初始状态,使对象准备好进行后续操作。 #### 三、虚函数的概念 虚函数的主要作用是实现多态性...
这个实例可能涉及到一个基类和一个或多个派生类,其中基类有一个或多个构造函数,而派生类需要根据不同的情况调用相应的基类构造函数。通过这样的实例,读者可以深入理解构造函数的调用顺序,以及如何在多级继承和...
构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。另外在该类中提供一个静态方法计算两个点的直线距离,传入参数为两个Point类实例。然后设计一个测试类...
构造函数不能为虚函数的理由 ...如果函数调用使用虚机制,它将只产生通过它自己的 V TABLE 的调用,而不是最后的 V TABLE(所有构造函数被调用后才会有最后的 V TABLE)。因此,构造函数不能是虚函数。
在这个构造函数中,虽然原本应该使用`base`关键字来调用基类的构造函数,但示例中的注释部分显示了正确的做法。 ```csharp class C : B { public int z; // 接受三个整型参数的构造函数 public C(int i, int j,...
在派生类的构造函数中,需要使用基类的构造函数名,后面括号内的参数表列中包括基类构造函数所需的参数和对派生类新增的数据成员初始化所需的参数。例如,`Student1(int n, string nam, char s, int a, string ad):...
接下来是初始化构造函数,也称为带有参数的构造函数。这种构造函数允许你在创建对象时传递参数,以便根据这些参数初始化对象的成员变量。这样可以避免使用全局或静态初始化,并且使代码更具可读性和可维护性。例如:...
构造函数与默认构造函数的声明、定义、应用、比较
- **使用多个构造函数**:类可以定义多个构造函数,这些构造函数可以有不同的参数列表。这种灵活性使得类可以在不同的情况下使用不同的初始化逻辑。 - **构造函数重载**:通过定义多个具有不同参数列表的构造函数,...
在C#中,构造函数可以有多个,但它们的方法签名不能相同。 默认构造函数是无参数的构造函数。无论何时,只要使用new运算符实例化对象,并且不为new提供任何参数,就会调用默认构造函数。如果类不是静态的,C#编译器...