什么是构造方法?
首先构造方法的名字必须和所在类的名字一致,没有返回值,不能声明void!
package com.oracle.demo03;
public class Person {
private String name;
private int age;
//构造方法:类名必须与方法名相同
public Person(String name,int age){
this.name=name;
this.age=age;
}
//空参
public Person(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
注意问题:
1.当你没有写构造方法时,你的编译器会自动给你添加一个空参构造.public Person(){}
2.当你自己写了一个构造方法时,编译器就不会给给你添加了
构造方法在第一次newt对象的时候调用,且只能调用一次,在调用的时候就赋值!
改值可以用set方法,因为是一个普通方法,构造方法只能有一次!
package com.oracle.demo03;
public class Demo {
public static void main(String[] args) {
Person p=new Person("夏侯恩",666);
//空参构造
Person p2=new Person();
p.setName("小辣椒");
System.out.println(p.getName()+"..."+p.getAge());
}
}
this调用构造方法:
所有构造方法中第一行有一条默认语句叫 super();
this只能完成本类中构造方法之间的调用,调用的方法只能放在第一行
this和super不同同在一个构造方法里面,但是可以间接调用super()
构造方法在对象创建时就执行了,而且只执行一次。构造方法没有返回
一般方法是在对象创建后,需要使用时才被对象调用,并可以被多次调用。