不积跬步,无以至千里;不积小流,无以成江海。

 

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();
	}
}

 

posted on 2019-11-22 10:40  smile学子  阅读(224)  评论(0编辑  收藏  举报