1.之所以会有访问权限的控制,是因为类库的消费者希望它们所依赖的那部分类库在某些方面保持不变,而对于开发人员来说,代码总是需要重构才能变得更加完善。因此,需要把变动的和不变的部分区分开。
2.按照从最大权限到最小权限排序,public,protected,默认,private
3.作为一名类库设计员,必须牢记,package和import关键字允许你做的,是将单一的全局名字空间分隔开,使得无论多少人使用Internet以及java开始编写类,都不会出现名称冲突问题。
如果有2个相同名字的类在不同包下,在同一个类中只能import其中之一。
4.至于public,private,protected和默认修饰,我现在暂时不想管那么多,我通常都会用private来定义成员变量,用public来定义方法,然后为成员变量写public的getters和setters。具体的实际应用当然需要变通,但是遇到具体的问题再说,只能说至少我用到的大多数时候,这样写是比较优雅的。
5.对于数据成员,最好是自己定义自己的,自己用自己的。在各个类中都将其定义为private类型。也可以这样其实,在编写代码的初级阶段,仅仅使用private来定义数据成员,public来定义方法,然后当代码编写完成后,看看哪些方法是不能让所有人用的,哪些根本不让别人用。就分别改成protected和private类型。
2.按照从最大权限到最小权限排序,public,protected,默认,private
3.作为一名类库设计员,必须牢记,package和import关键字允许你做的,是将单一的全局名字空间分隔开,使得无论多少人使用Internet以及java开始编写类,都不会出现名称冲突问题。
如果有2个相同名字的类在不同包下,在同一个类中只能import其中之一。
4.至于public,private,protected和默认修饰,我现在暂时不想管那么多,我通常都会用private来定义成员变量,用public来定义方法,然后为成员变量写public的getters和setters。具体的实际应用当然需要变通,但是遇到具体的问题再说,只能说至少我用到的大多数时候,这样写是比较优雅的。
5.对于数据成员,最好是自己定义自己的,自己用自己的。在各个类中都将其定义为private类型。也可以这样其实,在编写代码的初级阶段,仅仅使用private来定义数据成员,public来定义方法,然后当代码编写完成后,看看哪些方法是不能让所有人用的,哪些根本不让别人用。就分别改成protected和private类型。
6.import里面的东西在编译时期用到,不会影响运行速度,只会影响编译速度。它的意思大概就是,告诉编译器,如果在程序中发现不认识的类名,就去import指定的包或者类里面找,在编译的时候,将程序中不带包名的类名加上包名。其实使用Eclipse这类的IDE,通常都是编辑的过程中就自动编译了,更加不会影响速度。所以呢,为了提高程序的运行效率,尽可能多地将一些东西放在编译期去执行。