导航:首页 > 编程语言 > java包访问

java包访问

发布时间:2023-05-25 11:16:49

java中包访问权限private,protected,public和default的区别

public:可以被所有其他类所访问

private:只能被自己访问和修改

protected:自身、子类及同一个包中类可以访问

default:同一包中的类可以访问,声明时没有加修饰符,认为是friendly。

Ⅱ java中的两个不同的包如何访问

要么带入import
要么在程序用到其他包的类的部分直接将该类挂上完整路径,建议第一种

Ⅲ JAVA小问题,关于类访问另一个包中的类的问题,请大神看清问题在作答

文件示例

张三告诉班主任:“我今年8岁了。”



Ⅳ java中访问权限的控制。java默认的是包访问权限,但是对于有些情况如何处理呢。例如有四组类abcd(每组里

如果不考虑其他的类的话,c访问d,a不能访问d,那么把d相关权限设为default,a,c处在不同包里,c、d在同一个包里。a,c都访问b,那么就让b的权限设为公开。

但这可能导致包之间管理的混乱。

如果一定要跨包访问,但又不愿设立public的访问权限,那么单靠JAVA语言的访问控制很难做到,则可以稍微提升一下耦合度,并借助多态来实现。

比方说,a、b是两个不同的包,要让a能访问b的default的东西,那么可以如下:


a设立一个接口:

publicinterfaceIA
{
voidF();
}

某个要使用b的函数

publicclassA1
{
……
privateIAa;
……
publicvoidG(IAa)
{
……
this.a=a;//这样就可以在别的方法里用
a.F();//多态,a根本不知道b里有什么类也能访问相应的方法。
……
}
}

以上是a里的,下面是b里的:

如果是整个类都是default的

classB1implementsIA
{
publicvoidF(){……}
publicB1()
{
newA1().G(this);//这样就把自己传给了a,a不用知道自己是什么东东也能使用F方法。
}
}

如果是类的部分方法为default的

publicclassB2
{
……
voidFF();//想让这个方法被a调用。
privateclassB22implementsIA//把B22的实例传给a
{
publicvoidF()
{
FF();//这就等于让a调用FF方法了。
}
}
}

上面这种方法缺点不少,得由b亲自把自己的实例传给a,使得类间的关系变得有点复杂,但是用好了还是可以最大程度降低其缺点。

上面这种结果是你要的吗?还有什么特别的要求吗?

Ⅳ java中包到底是什么意思包访问权限又是什么意思,有C++基础。

是否是说 first.java中有A B C 三个类,second.java中有D E F 三个类,那么first和second是两个不同的包?不是,这是java文件的组织方式,因为java强制要求一个public类必须在一个同名的文件中,但是多个包访问权限的类是可以在同一个文件夹中的

First.java

classA{
voidprint(){
System.out.println("A");
}
}
classB{
publicvoidprint(){
System.out.println("B");
}
}
classC{
publicvoidprint(){
System.out.println("C");
}
}

Second.java

classE{
publicvoidprint(){
System.out.println("E");
}
}
classD{
publicvoidprint(){
System.out.println("D");
}
}
classF{
publicvoidprint(){
System.out.println("F");
}
}

A B C D E F都是在同一个包中,而不是ABC在firstFirst包中,而DEF在Second包中

改写Second.java

packagepackage2;
classE{
publicvoidprint(){
System.out.println("E");
}
}
classD{
publicvoidprint(){
System.out.println("D");
}
}
classF{
publicvoidprint(){
System.out.println("F");
}
}

你现在first.java中是无法访问EDF类的,这才是包的概念,另一个包中的(First.java中的ABC是在默认包中也是另外一个包)是无法访问EDF类的,因为他们是包访问权限,类只有两种权限,包访问权限和public权限

包访问是说我可以在first.java中访问second的某些方法或生成D E F对象吗?

是说如果first.java和second.java是在同一个包中,那么是可以的,但是如果不在同一个包中,并且那些类或方法是包访问权限,那是没有办法访问的

在添加一个类Third.java

packagepackage2.third;
classThird{
publicvoidprint(){
System.out.println("E");
}
}
classD{
publicvoidprint(){
System.out.println("D");
}
}
classF{
publicvoidprint(){
System.out.println("F");
}
}


这些类都是包访问权限,那么E.java中的类可以访问吗?不可以,包没有嵌套的概念,即使Third.java是在E.java的的子包中即E.java在package2中,而Third.java在package2.third

java中类的访问权限(不是内部类,内部类必须另加讨论)只有public和包访问权限,要么所有包中的类和方法都可以访问,要么只有在同一个包中的类才能访问,并且

packagepackage2.third;

是在package2.third包中

packagepackage2;

实在package2包中,这是两个不同的包,即使在电脑上third文件夹是在package2文件夹中

Ⅵ java包访问权限default和protected的区别

包访问没有权限的说法,import什么包就用什么包。
protected private 指的是方法或内部类的访问权限。

Ⅶ Java 包(package)应用及访问控制问题

果然还是分的魅力大,一样的帖子居然差异那么大,我就直接考过来了

分是不是少了点,我还得翻翻书,再看看,自己还得动手才行呀,实践出真理

我一边做一边写,D类为B的子类是不行的,缺省类只能被包颂肆内的类访问,

缺省类相当于是包内的public,对于包外是不可见的,这里D只能继承A类

还有缺省方法也和缺省类一样,只是包内的public,这里D继承A后,并不能用

A中的缺省方法,所以由上得出:缺省==包内的public,对于包外是private

Q3,对于包外的类,只能访问public成员

Q4,不能访问包外的缺省类

Q5,Q6和上面是一样的

Q7,能访问除了private以外的所有成员

其实这4种访问控制形成了一个完整的访问脊樱宏机制,

这里说一下protected 在包内 = public

在包外,只能被子类访问,意思就是在包外的类只有樱册继承了该类才能

访问该类的protected成员

你最好去找一个访问权力的标单,清晰明朗的说明了一切

Ⅷ java中同一个包中自由访问的问题

你被调用的类里面也有main主函数

这样写就可以了段塌猛衫姿

publicclassHelloTest{

publicstaticvoidmain(String[]args)
{
Helloh=newHello();
h.hello();
}

}

//被调用的类
class握桥Hello{
publicvoidhello()
{
System.out.print("hello,world");
}

}

我这两个类你分开写也行 我现在全复制在一起方便你查看

Ⅸ java同一个包下的类互相调用,应用哪个访问权限

java同一个包下的类互扮带乱相调用,应用族之间数据交流访问权限,主要是你要通过相对应的数据交换,还有相对应的数据调用,通过这样的方式进行使用对应的访问权限,所厅档以你可以应用相对应的数据交流的访问权限,是同一个包下面的类目互行渣相调用

Ⅹ java包(package)应用及访问控制问题,如何编写程序

1、 C 类能只正常访问 A类 和 A类用public修饰的属性的方法,
2、如果B类为public C类能访问B类的用public修改的属性和余伏春方法
3、D类能访问A类的用public 和 protected 修饰的属性的方法
4、如果B类为public 修改的 D类能访问用public 修饰的竖耐属性的方法
public:共有的,包外的都可以访问,儿女和朋友可以访问不用说了(所有地方)
protected:保护的,儿女和朋友和我的关系比较密切,他们可以访问,其他的免谈(相同包或者不同包的子厅穗类)
private:私有的,儿女不行,更不要说朋友,只有我自己本身可以访问(只有自己内部访问)
friendly:什么都不写时默认是friendly,朋友可以访问 (相同包可以访问,不同包子类“不”能访问)

阅读全文

与java包访问相关的资料

热点内容
微信怎么添加群 浏览:781
40岁男人适合的微信名 浏览:925
编程里比例怎么打 浏览:215
苹果12两个app如何分屏 浏览:592
ps下载完不是压缩文件 浏览:362
电脑中的个人文件包括什么 浏览:572
网络连接一般什么密码 浏览:199
java定时器quartz实例 浏览:259
稻壳excel文件太大怎么弄 浏览:901
文件里的视频如何保存到相册 浏览:428
手机百度云文件电脑 浏览:957
编程怎么做到时钟精准 浏览:912
锤子用过的壁纸在哪个文件里 浏览:468
qq网站安全性未知访问不了怎么办 浏览:270
燕秀怎么修改编程人名字 浏览:789
2012年天之眼导航升级 浏览:595
如何安装视频文件 浏览:315
红米2A升级miui9 浏览:927
如何在表格中加入一行数据库 浏览:421
dnf远古二能升级85吗 浏览:251

友情链接