構造函數
作用:用來給對象進行初始化
格式
- 方法名和類名相同
- 沒有返回類型,也不寫void
- 沒有具體的返回值
class Person{
private String name;
private int age;
public void setName(String n)
{
name=n;
}
public String getName ()
{
return name;
}
public void setAge(int a)
{
age=a;
}
public int getAge()
{
return age;
}
public void talk()
{
System.out.println(name+","+age+"會說話");
}
public Person() //構造函數,不寫系統也會自帶無參的構造函數
{
}
public Person(String n,int a)
{
name=n;
age=a;
}
}
public class Demo3 {
public static void main(String[] args)
{
Person p=new Person(); //Person()爲一個空參構造函數
Person q=new Person("張三",20); //方法重載
p.setName("張三");
p.setAge(20);
q.talk();
}
}
this關鍵字
用來當名字相同時區分成員變量和局部變量
package com.a;
class Person{
private String name;
private int age;
public void setName(String name)
{
this.name=name;
}
public String getName ()
{
return name;
}
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return age;
}
public void talk()
{
System.out.println(name+","+age+"會說話"); //name和age裏默認包含this關鍵字
}
}
public class Demo4 {
public static void main(String[] args)
{
Person p=new Person();
p.setName("張三");
p.setAge(20);
p.talk();
}
}