不积跬步,无以至千里;不积小流,无以成江海。
Java语言基础
Java的构造方法
定义:给对象的数据进行初始化的,在类实例化时会自动调用。
作用:在new的同时对成员变量赋值,给对象的属性初始化赋值。构造方法在new的时候运行,自动执行并且只运行一次。
语法格式:
修饰符 方法名(){}
注意:
1.方法名与类名相同(如果一个源文件中有多个类,那么构造器必须与公共类同名)。
2.没有返回值类型。
3.每个类可以有一个以上的构造方法。
4.构造方法可以有0个、1个或1个以上的参数。
5.构造方法需要用public来修饰,若使用private,在其他类中无法将其实例化。
构造方法分为:无参构造方法和有参构造方法。
- 无参构造方法
示例:
public class Student {
public Student() {
System.out.print("构造方法!");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu = new Student();
}
}
程序输出:
构造方法!
- 有参构造方法
示例:
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getname() {
return name;
}
public int getage() {
return age;
}
public void setname(String name) {
this.name = name;
}
public void show() {
System.out.print("姓名:" + name + " " + "年龄:" + age + " ");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu = new Student("tutu", 24);
stu.show();
System.out.println();
System.out.println(stu.getage());
stu.setname("tututu");
System.out.print(stu.getname());
}
}
运行结果:
姓名:tutu 年龄:24 24 tututu
构造方法可以重载
public Student(String name,int age){
this.name = name;
this.age = age;
}
public Student() {
System.out.print("构造方法!");
}
注意匿名对象:
class Person {
String name;
int age;
public Person(String n, int m) {
name = n;
age = m;
}
public void tell() {
System.out.println("姓名:" + name + ", 年龄:" + age);
}
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public void setAge(int m) {
age = m;
}
public int getAge() {
return age;
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
new Person("tutu", 24).tell();
}
}
浙公网安备 33010602011771号