类重名会产生什么后果??

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:52:16
还有,请问一下包究竟是启什么作用?

类重名在eclipse上会提示出错.但如果不在一个包内那就没问题了.
包可以当成是WINDOWS的文件夹!

除了和文件夹一样为了分类明确.让人看着一目了解之外
包还有一个权限问题!.

(public 可以被所有其他类访问
protect 自身,子类及同一个包中类可以访问
private 只能被自身访问和修改)
还有默认,即无以上三种,同一个包中的类可以访问

此四种用于修饰,类名,变量名,方法名。

package 是用来管理java类位置的.
只能用在java类的首行,定义一个位置,如
package com.xxx.yyy;
不能用于修饰 类名,变量名,方法名等.

不在同一个包的类,需要用import 来导入包位置。

1、名字冲突
java.util.List
住在java市,util区的,名字叫List的人。
java.awt.List
住在java市,awt区的,名字叫List的人。
用包可以防止名字冲突。
2、访问限制
如果A类和B类在同一包下,那么A可以访问B的保存域及默认域。例如:
public class B {
protected String s;
int getSize() {
s.getLength();
}
}
其中s是保护级别的(protected),而getSize()方法是默认级别的。其中s属性,只能是B的子孙类及同包下的类可以访问(当然B类内部也是可以访问的),而getSize()只有同包下可以访问。
可以把同一包下的类看成是同一个小区的住户。

在同一个包中会提示:类重复,编译不能通过
包类似于WINDOWS文件夹,用于规范及便于理解
例:
打开你的C盘会看到很多文件夹,你可以把你的JAVA及CLASS文件想象成文件夹中的文件
包就象这些文件夹,如果没有包,所有的文件都在C盘根目录下,你会不会觉得很乱呢?