构造方法
构造方法的作用是给对象的数据(属性进行初始化)。
如:
1 class Demo_Constructor { //Constructor构造 2 public static void main(String[] args) { 3 Person p = new Person(); 4 //在一创建对象的时候,系统就帮我调用了构造方法 5 //p.Person(); //构造方法不能用对象调用 6 p.show(); 7 8 Person p2 = new Person(); //再次创建对象 9 p2.show(); 10 } 11 } 12 13 14 15 class Person { 16 private String name; //private 私密的 string,字符串类型 17 private int age; 18 19 //构造方法 20 public Person() { 21 //System.out.println("Hello World!"); 22 //return; 23 //构造方法也是有return语句的,格式是return; 24 name = "张三"; 25 age = 23; 26 } 27 28 public void show() { 29 System.out.println(name + "..." + age); 30 } 31 } 32
构造方法格式特点
1,方法名与类名相同(大小也要与类名一致)
2,没有返回值类型,连void都没有
3,没有具体的返回值return;
1,有参的好处是可以给对象属性进行初始化,还可以动态的给我们的属性赋值;
2,当你没有给任何的构造造方法的时候,系统会默认自动提供一个空参构造方法;
3,当我们给出了构造方法,系统将不再提供默认的空参构造方法。
class person () {
private string name;
private int age;
public person() { //创建一个空参的构造方法
System.out.println("这是一个空参构造");}
public person(string mane,int age){ //创建一个空参的构造方法
this.name = name;
this.age = age;
System.out.println("这是一个有参构造");}
public void show() {
System.out.println(name + "……" + age);}}}
给成员变量赋值的两种方法以及区别
this.name = name ;}
public void getName ()}{ //获取姓名
return name ; }
public void setAge (int age) { //设置年龄
this.age = age;}
public void getAge () { //获取年龄
return age; }
{person P1 = new person("张三",14); //有参构造创建对象
P1 = new person("大张",15);
//这种 方法看运行结果貌似是改名了,其实是将原对象变成了垃圾,不推荐使用
System.out.println(getName + "……" + getAge);
person P2 = new person (); //空参构造创建对象
P2.setName("张开");
P2.setAge(20);}
P2.setName("小张");System.out.println(getName + "……" + getAge);
setXxx方法是修改其属性值 ,这两种方式 在开发中setXxx用的更多一些,因为他比较灵活。