什么是构造方法?
首先构造方法的名字必须和所在类的名字一致,没有返回值,不能声明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()
构造方法在对象创建时就执行了,而且只执行一次。构造方法没有返回
一般方法是在对象创建后,需要使用时才被对象调用,并可以被多次调用。