初级问题

tfrist 2003-02-10 08:59:40

大家好!
本人初学java 。这里有一个初级的问题。望高手指点。
关于访问修饰符的问题!!!java怎么这么多修饰符。
public private friendly protcted abstrcat final等!!
我用的是sun的sdk1.3版本..
程序如下:
class A
{
String str;
void display()
{
System.out.println("hello!");
}
}

以上的类中 str 和 display() 的修饰符是private 的.还是friendly的.怎么有的书讲默认是friendly .有的书讲默认是private.我糊涂了.到底那个说的对呢?哪位高手帮我解释解释!
谢谢!!!

什么时候的函数默认为friendly?
什么时候的函数默认为private?

...全文
31 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
JikLiu 2003-02-10
  • 打赏
  • 举报
回复
private要显示的标示出:如

private int a = 0 ;

你上面说的str和display()是friendly
如果不想让类外成员访问,要显示定义为private型

class A
{
private String str;
private void display()
{
System.out.println("hello!");
}
}
  • 打赏
  • 举报
回复
同意 study_body(珍惜每一天) 的说法
hoxisoft 2003-02-10
  • 打赏
  • 举报
回复
friendly:
同一包内的所有类都可以访问
private:
修饰的成分(方法、属性)只能在定义的类中使用(即两个{}之间),其他地方不能使用
只能定义它的类自己可以访问
xiaofenguser 2003-02-10
  • 打赏
  • 举报
回复
呵,你真的过傻了!

String str;
void display()
{
...
}
这个str和display()就是friendly

默认为private?
没见过,估计是书上错了!
希偌 2003-02-10
  • 打赏
  • 举报
回复
默认protected,表示可继承extends
study_body 2003-02-10
  • 打赏
  • 举报
回复
sorry 应该是protected 过年过傻了。
study_body 2003-02-10
  • 打赏
  • 举报
回复
什么也没有就是friend。
xiaofenguser 2003-02-10
  • 打赏
  • 举报
回复
friendly = default;
两种叫法而已.

[摘]
Java支持四种可以用于方法和变量的访问修饰符(public、private、protected和隐含的friendly)
muymuy 2003-02-10
  • 打赏
  • 举报
回复
java里有4中修饰符,分别是:
public, protected, default, private

其中default修饰符就是在类成员之前不加任何修饰,如:
class A
{
String str;
void display()
{
System.out.println("hello!");
}
}
程序中,String str;和void display()都是被default修饰符修饰

这4个修饰符的访问权限从大到小排列为:
public, protected, default, private

public:在类内部,类外部,及包内包外都可以访问;
protected:其子类可以访问,同一个包内的其他类可以访问;
default:只有同一个包内的其他类可以访问,其子类和包外的类都不可以访问;
private:只在类的内部可以访问;

下面是一个总结表(yes表示可以访问,no表示不可以访问)

修饰符 Public Protected Default Private
类内部 Yes Yes Yes Yes
同一包中的其他类
Yes Yes Yes No
不在同一包中的类
Yes No No No
同一包中的子类
Yes Yes Yes No
包外的子类
Yes Yes No No

default修饰符,即不等于private也不等于friend,它是java中一个特有的修饰符。

是哪本书说default就是private,居然这个都搞不清楚,还写书,这不是误人子弟吗,k他。
yao_yao_ 2003-02-10
  • 打赏
  • 举报
回复
赞同: hoxisoft(一切全为你)的说法。。。。!!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧