1.定义方法
静态方法:方法属性+static+类型+方法名称()
实例方法:方法属性+类型+方法名称()
静态方法和实例方法的区别主要体现在两个方面:
在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
person.class
1 public class person { 2 3 //创建成员变量 4 private String name; 5 private int age; 6 //创建构造方法(无参),原本age的初始值为0,这里赋值为18. 7 // 构造方法:方法属性 类名(),如果不写,则为默认的构造方法,为初始值。 8 public person(){ 9 age=18; 10 } 11 //创建构造方法(有参),对于两个同名的方法,成为方法的重载。 12 构造方法:括号中可以包含参数 13 public person(int a){ 14 age=a; 15 } 16 //创建实例方法,设置变量大小 17 public void setage(int age){ 18 if(age>0&&age<120){ 19 this.age=age; 20 } 21 else{ 22 System.out.println("年纪不合法"); 23 } 24 } 25 public void setname(String name){ 26 this.name=name; 27 } 28 //创建实例方法,获取变量大小,一般为方法属性 变量类型+方法名(),然后返回变量。 29 public int getage(){ 30 return age; 31 } 32 public String getname(){ 33 return name; 34 } 35 public void shout(){ 36 System.out.println("I am "+name+",age is "+ age); 37 } 38 }
2.创建对象和调用方法
创建对象:类名+对象名=new 构造方法();
调用方法:静态方法:类名.方法名 / 对象名.方法名 || 实例方法:对象名.方法名
testperson.class
1 public class testperson { 2 public static void main(String args[]){ 3 //创建对象 4 person p=new person(); //一个类的默认构造方法为类名(). 5 person p1=new person(16); //可以自己定义一个构造方法,提供参数,为变量赋值。 6 //调用实例方法 7 p.setname("jfl"); //设置参数 8 p.setage(11); 9 p1.setage(12); 10 p.shout(); 11 //获取参数值 12 System.out.println("I am "+p.getname()+",age is "+p.getage()); 13 System.out.println("I am "+p.getname()+",age is "+p1.getage()); 14 } 15 }
变形:
1.如果将p.setage(11)注释掉,那么结果为
这里没有调用方法给变量赋值,于是变量为构造方法中的默认值。
2.如果将p1.setage(12)注释掉,那么结果为
同上,这里先要给带参的构造方法中写入值,才可以调用方法、