跟类名相同的方法名
被称作构造方法
,其作用是用于当一个类被new成对象时,对象需要声明的一些变量的构造声明。1、构造方法的特点:
(1)构造方法的名字必须与定义他的类名完全相同(甚至连void也没有),且没有返回类型;
(2)构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象
。
Person p = new Person(); : person() 调用的就是Person的构造方法。
(3)每个类可以有零个或多个构造方法;
(4)不能被static、final、synchronized、abstract和native修饰。且构造方法不能被子类继承。
(5)构造方法在创建对象时自动执行
,一般不能显式地直接调用。
2、构造方法一般分为两类(无参的构造方法和有参的构造方法)
(1)无参数构造方法
// 无参构造方法
class Banana{
public Banana() {
System.out.println("无参的构造方法被调用,这里是香蕉");
}
}
public class text3 {
public static void main(String[] args) {
Banana s = new Banana();
}
}
(2)有参数构造方法
// 有参构造方法
class Apple{
int size;
public Apple(int a) {
System.out.println("有参的构造方法被调用,这里是苹果");
size = a;
}
public void shuchu() {
System.out.println("这个苹果有" + size + "这么大");
}
}
public class text3 {
public static void main(String[] args) {
Apple apple = new Apple(18);
apple.shuchu();
}
}
Apple(int a)
这是一个有参的构造方法,在new Apple(18)
实例化对象的同时,把参数传给a赋值给size并调用了shuchu()这个构造方法。3、构造方法的重载
/*
* 构造方法的重载
*/
class Food{
String name;
int size;
public Food(String b , int a) { // 构造函数
name = b;
size = a;
}
public Food(String b) {
name = b;
}
public Food(int a) {
size = a;
}
public void shuchu() {
System.out.println("这个" + name +"有" + size + "这么大");
}
}
public class text4 {
public static void main(String[] args) {
Food s = new Food("苹果");
Food x = new Food("草莓",18);
Food z = new Food(20);
s.shuchu();
x.shuchu();
z.shuchu();
}
}
类方法是属于整个类的,所以类方法的方法体中 不能有 与类的对象有关 的内容。即类方法体有如下限制:
对象变量
;类的对象方法
;覆盖(重写)
;super,this
关键字;当一个类创建了一个对象后,这个对象就可以调用该类的方法(对象方法)。
对象变量
;类变量
;类方法
;super,this
关键字;