标签:需求 tag 示例 name work soft 调用 test 自身
1.构造方法
什么是构造方法?
构造方法是一种特殊的方法,方法名必须与类名完全相同,没有任何返回类型,连void也没有。
构造方法有什么作用?
构造方法用于对类的成员变量进行初始化。
示例:
class MyDate{ //Field int year; int month; int day; //Constructor MyDate(){} //没有参数的构造方法 MyDate(int _year, int _month, int _day){ //有参数的构造方法 year = _year; month = _month; day = _day; } }
public class Test01{ public static void main(String[] args){ //创建对象 MyDate date = new MyDate(2017,10,29); //调用的是有参数的构造方法 System.out.println(date.year + "年" + date.month + "月" + date.day + "日"); } }
2.this关键字
什么是this关键字?
this关键字是一个引用类型,在堆中每一个JAVA对象都有this,this保存的是内存地址,这个内存地址指向这个对象自身。
this关键字可以用在哪些地方?
this可以用在成员方法中。
this可以用在构造方法中。
示例:
this 用在成员方法中。
class Employee{ //Field int empNum; String empName; //Constructor Employee(){} Employee(int num, String name){ empNum = num; empName = name; } //Method //成员方法 public void work(){ System.out.println(empName + " is working!"); //成员方法中访问成员变量必须加上"引用." //this 指的是当前的对象,谁去访问这个成员方法,this就代表谁 //如果使用的是同一个类中的变量,那么可以省略"引用." System.out.println(this.empName + " is working!"); } public void m1(){ this.m2(); m2(); } public void m2(){ System.out.println("Testing!"); } }
public class Test02{ public static void main(String[] args){ //创建对象 Employee e1 = new Employee(01,"Loafer"); e1.work(); //创建对象 Employee e2 = new Employee(02,"Sorcerer"); e2.work();
e2.m1(); } }
this 还可以用来区分成员变量和局部变量,当成员变量和局部变量重名的时候可以用this来区分。
class Animal{ //Field private int age; //Method //成员方法 public void setAge(int age){ this.age = age; //this.age 表示的是 属性里面的age, 而"="后面的age表示的是方法里面的变量age } //成员方法 public int getAge(){ return age; } }
this 用在构造方法中,通过一个构造方法去调用另一个构造方法,目的是为了实现代码的重用。
class MyDate { //Field int year; int month; int day; //Constructor //需求:默认日期是2017年10月28日 MyDate(int year, int month, int day){ this.year = year ; this.month = month; this.day = day; } MyDate(){ this(2017,10,28); /* this.year = 2017; this.month = 10; this.day = 28; */ } }
3.Java内存的主要划分
标签:需求 tag 示例 name work soft 调用 test 自身
原文地址:http://www.cnblogs.com/sorcerer/p/7746457.html