属性和变量不一样么?
属性一般相对于对象而言,二变量一般相对于方法而言;
讲属性的时候有说:属性通常也称作实例变量
在类中叫属性 在方法中叫变量
我们可以说属性是变量,却不能说变量是属性。所以,属性是变量的子集,即:属于类对象的变量。
类(class)中包含的内容有方法(method)和域(field),这里的field大概就是你说的属性。方法就不解释了。class field 术语叫 类域,更加通俗的称呼,静态域,静态变量,类变量,就是用static设置的,每个类中只能有一个class field。每一个对象对于所有的实例域都有自己的一份拷贝。
instance field 术语叫实例域,也有人称为实例变量,在构造对象的时候会进行赋值,使得每个对象有着自己独特的实例域。
域(field)是定义在类中的,而方法或者一些循环语句中定义的变量就是普通的变量,只是在局部使用的。笼统点的讲,域和普通的变量你可以认为是都是变量,都是用来存放东西的,但是在称呼上还是要有所区分,以示他们定义的位置的区别。这个教程里面讲的概念比较混乱,不过其实这不影响编程,只是对初学时的概念的理解会造成影响。你买一本歪果仁出版的java书,看看就知道了。
private static int nextID=1;// static field 类域
public String name;// instance field 实例域
private double salary;// instance field 实例域
private Date hireDay;// instance field 实例域
public Employee(String n,double s,int year,int month,int day){
public String getName(){
public double getSalary(){
public Date getHireDay(){
public void raiseSalary(double byPercent){
double raise=this.salary*byPercent/100;//普通的变量,临时使用的variable
this.salary+=raise;
}
属性是类才具有的,变量只是通用的叫法,一个程序里占用一定空间,可保存数据的东西,但是java中一切皆是对象,好像谈变量也有点奇怪,恩,临时变量,全局变量(这东西java好像不是很受待见)好像也不能和属性混为一谈,就是这样
楼上说错了,user是类,不是对象。
通常一个类有一个或者几个属性,这些属性通过变量的形式保存,属性的实质是变量。
如果你是通过这个类或者这个类的对象调用了这个字符串变量name,那么我们就说这个name是该类或者该对象的属性。
一般情况下就是一样的只是叫法不同而已
就我的理解
属性相对于对象而言,一个对象可以有一个或多个属性。
变量分全局变量和局部变量,变量下就没有属性这一特质,就仅代表一个值(如:字符串,数字等)的一个代表
java:int a=1;
就仅仅说明a代表1;
public class user{
String name;
}
user 是对象
name是user对象的一个属性。
--仅供参考