码迷,mamicode.com
首页 > 编程语言 > 详细

java中可以让实例改变了类Feild(java这么干就是一个错误,你看到了就当做是类在该修改或这个类Feild)

时间:2014-05-03 15:02:27      阅读:484      评论:0      收藏:0      [点我收藏+]

标签:public   java   

class Person
{
        public String name;//定义实例Feild
        public static int eyeNum;//定义类Feild
}
public class PersonTest
{
        public static void main(String[] args)
        {
                System.out.println("Person的eyeNum的类Feild值是:"
                        + Person.eyeNum);
        }
}

运行:

[root@server254 java]# java PersonTest
Person的eyeNum的类Feild值是:0

类 Feild是和类共生存的,类在类Feild就在,实例Feild是和实例共生存的。



class Person
{
        public String name;//定义实例Feild
        public static int eyeNum;//定义类Feild
}
public class PersonTest
{
        public static void main(String[] args)
        {
                System.out.println("Person的eyeNum的类Feild值是:"
                        + Person.eyeNum);
                Person p = new Person();//创建Person对象,赋给引用变量p
                p.name = "MAH"; //使用引用变量改变实例Feild
                p.eyeNum = 2;//使用引用变量改变类Feild
                System.out.println("p变量的name Feild是:" + p.name);
                System.out.println("p对象的eyeNum Feild是:" + p.eyeNum);
                System.out.println("Person的eyeNum的类Feild值是:"
                                + Person.eyeNum);
        }
}

执行:

[root@server254 java]# java PersonTest
Person的eyeNum的类Feild值是:0
p变量的name Feild是:MAH
p对象的eyeNum Feild是:2
Person的eyeNum的类Feild值是:2

可见我们通过p引用变量(实例),修改了类Feild

class Person
{
        public String name;//定义实例Feild
        public static int eyeNum;//定义类Feild
}
public class PersonTest
{
        public static void main(String[] args)
        {
                System.out.println("Person的eyeNum的类Feild值是:"
                        + Person.eyeNum);
                Person p = new Person();//创建Person对象,赋给引用变量p
                p.name = "MAH"; //使用引用变量改变实例Feild
                p.eyeNum = 2;//使用引用变量改变类Feild
                System.out.println("p变量的name Feild是:" + p.name);
                System.out.println("p对象的eyeNum Feild是:" + p.eyeNum);
                System.out.println("Person的eyeNum的类Feild值是:"
                                + Person.eyeNum);
                Person p2 = new Person();
                System.out.println("p2对象的eyeNum类Feild值:" + p2.eyeNum);
        }
}

[root@server254 java]# java PersonTest
^[[APerson的eyeNum的类Feild值是:0
p变量的name Feild是:MAH
p对象的eyeNum Feild是:2
Person的eyeNum的类Feild值是:2
p2对象的eyeNum类Feild值:2


java的变量包括:成员变量和局部变量

成员变量:类Feild(static修饰)和实例Feild(非static修饰)

局部变量:形参,方法局部变量和代码块局部变量

本文出自 “8176010” 博客,谢绝转载!

java中可以让实例改变了类Feild(java这么干就是一个错误,你看到了就当做是类在该修改或这个类Feild),布布扣,bubuko.com

java中可以让实例改变了类Feild(java这么干就是一个错误,你看到了就当做是类在该修改或这个类Feild)

标签:public   java   

原文地址:http://8186010.blog.51cto.com/8176010/1405548

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!