为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

9 回答

属性一般相对于对象而言,二变量一般相对于方法而言;

0 回复 有任何疑惑可以回复我~

讲属性的时候有说:属性通常也称作实例变量

0 回复 有任何疑惑可以回复我~
#1

0821

初始化后才能叫实例变量
2016-12-31 回复 有任何疑惑可以回复我~

在类中叫属性 在方法中叫变量

0 回复 有任何疑惑可以回复我~
#1

0821

在类中也可以叫成员变量
2016-12-31 回复 有任何疑惑可以回复我~

我们可以说属性是变量,却不能说变量是属性。所以,属性是变量的子集,即:属于类对象的变量。

0 回复 有任何疑惑可以回复我~

类(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;
    }

2 回复 有任何疑惑可以回复我~
#1

七九九

每一个对象对于所有的实例域却都有自己的一份拷贝。 少打了 “却”字。这句话用来描述 类域 和 实例域 的区别。实例域的概念在下面。
2016-01-27 回复 有任何疑惑可以回复我~

属性是类才具有的,变量只是通用的叫法,一个程序里占用一定空间,可保存数据的东西,但是java中一切皆是对象,好像谈变量也有点奇怪,恩,临时变量,全局变量(这东西java好像不是很受待见)好像也不能和属性混为一谈,就是这样

0 回复 有任何疑惑可以回复我~
#1

0821

对象也可有属性
2016-12-31 回复 有任何疑惑可以回复我~
#2

我吃炸土豆 回复 0821

对,但是你反驳我的前提是对象和类没有关系,或者是交集关系,或者类是对象的子集。但是对象和类的关系好像都不是这样的。
2017-01-14 回复 有任何疑惑可以回复我~
#3

我吃炸土豆 回复 0821

不对,应该是类是对象的子集
2017-01-14 回复 有任何疑惑可以回复我~

楼上说错了,user是类,不是对象。

通常一个类有一个或者几个属性,这些属性通过变量的形式保存,属性的实质是变量。

如果你是通过这个类或者这个类的对象调用了这个字符串变量name,那么我们就说这个name是该类或者该对象的属性。


0 回复 有任何疑惑可以回复我~
#1

废柴丶

是我错了。
2016-01-05 回复 有任何疑惑可以回复我~

一般情况下就是一样的只是叫法不同而已

0 回复 有任何疑惑可以回复我~

就我的理解

属性相对于对象而言,一个对象可以有一个或多个属性。

变量分全局变量和局部变量,变量下就没有属性这一特质,就仅代表一个值(如:字符串,数字等)的一个代表

java:int a=1;

就仅仅说明a代表1;

public class user{

String name;

}

user 是对象

name是user对象的一个属性。

--仅供参考

1 回复 有任何疑惑可以回复我~
#1

废柴丶

user是类不是对象。楼下指出了
2016-01-05 回复 有任何疑惑可以回复我~
#2

废柴丶

user类实例化后就成了user对象了。相应的name也就成了user对象的属性。
2016-01-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530631    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

属性和变量不一样么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信