这是一个很古老的问题,记得我在进行面向对象的入门时曾向对此概念不是很清晰的同学解释过 不知你们对结构有没有概念?(在此假设有)1.写一个结构,给它起一个名字,在其内定义若干项数据 2.然后创建它的一个实例 3.可以通过先前创建的实例的名字.结构中某一项数据的名字 可以通过这样的一种方式来获得 或者改变这项数据 这第三步在C语言或VB中行得通,但在JAVA中却行不通了在JAVA中public class classOne{private int dataone; private String datatwo; private 自定义类型 datan;}classOne obj=new classOne(); obj.dataone=5; 具体说是这样就行不通了 在JAVA中通过对象点数据的方式行不通 因为数据是私有的,也就是在数据的前面加上了private 当然也可不定义为私有,但一般都是私有的(原因后面说) 所以就不能通过对象点的方式访问数据 把数据定义为私有通过公有方法来访问数据,这是一个规范 我们必须把数据定义为私有,因为我们必须要遵守规范! 我原来是玩.net的,后来改玩JAVA,很大的一个感触就是JAVA对.net要有规范 一个东西,在.net中很不经意,在JAVA中确有专门的名称,在.net中可以瞎编,完全不讲规范(虽然不提倡,但是确是可以的) 在JAVA中非但很困难甚至可以说不行.对此我很很深的感触.