1.构造方法
1.1有参构造
构造方法的目的是为成员变量实现初始化操作,既然是方法,既可以传递参数,此时定义一个构造方法,向里面传递参数
public class ConDemo1 {
public static void main(String[] args) {
//声明对象
Person per=new Person("张山",30);
per.tell();
}
}
class Person{
private String name;
private int age;
public Person(String name,int age){
this.age=age;
this.name=name;
}
public void tell(){
System.out.println("年龄为:"+age+";姓名为"+name);
}
}
1.2含有set和get方法的有参构造
public class ConDemo2 {
public static void main(String[] args) {
//声明对象
Person1 per=new Person1("张山",30);
per.tell();
}
}
class Person1{
private String name;
private int age;
public Person1(String name,int age){
this.setAge(age);
this.setName(name);
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void tell(){
System.out.println("年龄为:"+age+";姓名为"+name);
}
}
2.3无参构造方法
编写类的时候没有自定义一个构造方法,系统就会生成一个什么都不做的构造方法
public class ConDemo3 {
public static void main(String[] args) {
//对象的申明和实例化对象
Person3 per=new Person3();
//对象调用tell方法
per.tell();
}
}
class Person3{
private String name;
private int age;
public Person3(){//系统自动生成的默认构造方法
}
public void tell(){
System.out.println("年龄为:"+age+";姓名为"+name);
}
}
2.4构造方法的重载
实例化对象的时候根据构造方法中含有的参数来调用构造方法,实现成员变量的初始化操作叫做方法的重载。构造方法的重载即为方法名相同,但是含有的参数不同。
public class ConDemo4 {
public static void main(String[] args) {
//声明对象
Person4 per=new Person4("张三",30);
Person4 per1=new Person4();
Person4 per2=new Person4(30);
per.tell();
per1.tell();
per2.tell();
}
}
class Person4{
private String name;
private int age;
public Person4(){ //无参构造
}
public Person4(int age){//一个参数的有参构造
this.setAge(age);
}
public Person4(String name,int age){//两个参数的有参构造
this.setAge(age);
this.setName(name);
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void tell(){
System.out.println("年龄为:"+this.getAge()+";姓名为"+this.getName());
}
}