java中的private到底有什么用
2009-04-09 00:42
260 查看
这是一个很古老的问题,记得我在进行面向对象的入门时曾向对此概念不是很清晰的同学解释过
不知楼主对结构有没有概念?(在此假设有)(当然了我的这一段文字的用意除了与楼主讨论外
也和其他朋友讨论)
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中非但很困难甚至可以说不行.对此我很很深的感触.
所以在JAVA中编程是要讲规范了。除此之外用人的企业只怕也要讲规范.......
所以就让我们一起来遵守规范,从第一个在数据前面加上private,通过公有方法来访问数据开始吧!!!!
不知楼主对结构有没有概念?(在此假设有)(当然了我的这一段文字的用意除了与楼主讨论外
也和其他朋友讨论)
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中非但很困难甚至可以说不行.对此我很很深的感触.
所以在JAVA中编程是要讲规范了。除此之外用人的企业只怕也要讲规范.......
所以就让我们一起来遵守规范,从第一个在数据前面加上private,通过公有方法来访问数据开始吧!!!!
相关文章推荐
- 深入理解Java虚拟机到底是什么
- Java第7次作业:造人类(用private封装,用static关键字自己造重载输出方法)什么是面向对象程序设计?什么是类和对象?什么是无参有参构造方法 ?什么是封装?
- Java中字符流和字节流到底有什么区别!!!
- 深入理解Java虚拟机到底是什么
- Java 阵营到底有什么意思
- JAVA到底能做什么?为何实际用到的技术却很少?
- Java的Generics和c++的Template到底有什么不同?
- 深入理解Java虚拟机到底是什么
- java 的接口到底起什么作用
- 成为一名Java高级架构师到底需要学习什么?
- java中方法重载是什么, 实际中到底有什么意义, 用处?请举例
- 成为一名Java高级架构师到底需要学习什么?
- “static”关键字是什么意思?Java中是否可以覆盖(override)一个private 或者是static的方法?
- 【Stackoverflow好问题】Java修饰符:public,protected,private,不加修饰符。有什么区别呢?
- java中 static变量和方法到底是存在内存什么区域呢?
- java final关键字到底修饰了什么
- java之classpath到底是什么
- 在JAVA中线程到底起到什么作用
- java中的class 与Class , A.class 与 A.getClass() 到底有什么 不同
- java中 static变量和方法到底是存在内存什么区域呢?