在开发中,经常需要在创建对象的同事明确对象对的属性值,比如一个person对象创建的时候就应该有name和age 等属性,那么如何做到在创建对象的同时给对象的属性值初始化值呢?
这里介绍构造方法
1 构造方法没有返回值类型, 更没有返回值,因为他是构建对象的,对象创建完,方法就执行结束
2构造方法名必须和类型保持一致
3 构造方法什么时候运行呢? 在创建对象的时候自动执行,而且只执行一次
定义示例
public class Person{public person(){System.out.println("我是一个空参构造方法"); } }
运行:
public class test(){public static ovid main(String [] args){Person p = new Person(); } //输出:我是一个空参构造方法
构造方法是每个类的必须内容 写或者不写都存在
编译器在编译的时候会检测有没有构造方法 如果有,执行。没有,自动创建一个空参构造
构造方法的赋值
public class Person{private String name;private int age;public Person(String name,int age){this.name=name;this.age=age;} }
public class Test{public static void main(String[] args){Person p = new Person("张三",18);} }
this 在构造方法中的调用
public class Person {private String name;private int age;public Person() {//this()是调用其他的构造方法//this()必须写在构造方法第一行this("张三", 20);}public Person(String name, int age) {this.name = name;this.age = age;} }public class Test {public static void main(String[] args) {Person p1 = new Person("张三", 18);Person p2 = new Person();} }
//输出: 张三 18
// 张三 20
this关键字给成员变量进行了赋值