一.构造方法
格式:
无参的构造方法
访问修饰符 方法名(){
}
有参的构造方法
访问修饰符 方法名(数据类型 变量名,数据类型 变量名){
}
注:有参数的构造方法,在调用时,需要传递数据,而且数据要和构造方法中参数的类型,个数, 顺序必须完全匹配。
public class test1{
public static void main(String[]args){
//创建对象
test1 t=new test1("张三",20);
}
public test1(){
System.out.println("-----无参数的构造方法-----");
}
public test1(String name,int age){
System.out.println("-----有参数的构造方法-----");
System.out.println("name:"+name+"age:"+age);
}
}
二、方法
方法就是完成同一功能的代码块
格式:
public class dx{
public void test1(){
System.out.println("-----无返回值无参数的构造方法-----");
}
public int test2(){
System.out.println("-----有返回值无参数的构造方法-----");
return 10+20;//返回值
}
public void test3(String name,int age){
System.out.println("-----无返回值有参数的构造方法-----");
System.out.println(name+age);
}
public String test4(String name,int age){
System.out.println("-----有返回值有参数的构造方法-----");
return "name"+name+"age"+age;
}
public static void main(String[]args){
//创建对象
dx d=new dx();
//调用方法test1
d.test1();
//给方法test2的返回值定一个变量名接下来可以继续使用
int num=d.test2();
System.out.println(num);
//直接调用test2的返回值,至此一次往后不可再用此返回值
System.out.println(d.test2());
//调用方法test3
d.test3("李四",15);
//调用并输出方法test4
System.out.println(d.test4("zhangsan",20));
}
注:有void表示当前方法不会返还数据给调用方
return代表返回值,只能返还一个数据而且一定在方法中的最后一行
三、this 关键字
this关键字只能出现在没有被static修饰的方法中
作用就是this关键字表示对当前类某个对象的引用(就是那个对象调用它,他就指向谁)
用法:
当方法中的局部变量或者参数和全局变量完全一致时,以局部变量或者参数为主;如果此时就想调用全局变量,就可以通过this关键字来解决。
格式:
this.属性名
public class dx4{
int num=999;//定义一个全局变量,就是成员变量
public static void main(String[]args){
dx4 d=new dx4();
d.d1();
d.d2();
}
public dx4(){
this("Hello ",19);//this有参数,所以匹配到参数的构造方法,并调用
}
public void d1(){
int num=666;
System.out.println(num);//没有this关键字(就近原则)输出局部变量
}
public void d2(){
System.out.println(this.num);//this关键字指定了成员变量,输出成员变量
}
public dx4(String name,int age){
System.out.println("name="+name+"age="+age);
}
}