按作用域分:

1.在类中声明的变量或常量叫属性,或者叫成员变量。

2.在方法中声明的变量叫局部变量,或者临时变量。

3.属性可以使用四种权限修饰符修饰,局部变量不可以。

4.属性可以使用static修饰,局部变量不可以。

5.属性可以使用final修饰,局部变量也可以。

6.属性的生命周期很长,随着类加载或者创建对象被初始化,直到没有对象引用才回收。

7.局部变量生命周期很短,执行某个方法时临时被初始化,方法结束即被回收。

8.如果局部变量与属性重名,则遵守就近原则,可以使用this区分。

9.属性可以在整个类中使用,局部变量只在当前方法中使用。

10.属性都有默认的初始化值,如引用类型都是null,整型是0等,局部变量不被自动初始化,必须手工初始化,如taskname手工指定为null才为null,而属性name默认就为null