首页
博客
专栏课程
下载
问答
社区
会员中心
论坛
代码
直播
Chrome 插件
能力认证
导航
全部
Ada助手
...
Ada助手
登录/注册
社区
Java EE
帖子详情
Java中类不写访问修饰默认是什么,方法不写默认是什么
ass1771
2010-05-20 05:25:54
我所说的是public private protected 这类修饰
...全文
给本帖投票
23413
25
打赏
收藏
Java中类不写访问修饰默认是什么,方法不写默认是什么
我所说的是public private protected 这类修饰
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
Silverlight跨域访问Weblogic上部署的WebService发生问题
>>
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
发表回复
按下Enter换行,Ctrl+Enter发表内容
编辑
预览
轻敲空格完成输入
显示为
卡片
标题
链接
打赏红包
TommyWu01
2012-06-05
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
如果一个类的成员没有任何权限修饰,那么它门就是缺省包访问权限,用friendly来表示,注
意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已。同一个包内其它类可以访问,但包外
就不可以。对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录
的default package,可以相互调用class中的frie……
[/Quote]
支持
zhuhengjie0681
2010-11-10
打赏
举报
回复
我还有个问题,这默认的类是 friendly ,那默认的属性呢,我还见过有个这样的方法“final static void main(String[] args)”.不是说main 方法必须是public 类型的吗,这个方法有什么意义没?
编程学童
2010-05-23
打赏
举报
回复
friendly(友好的),就是什么修饰符也没有的时候,只有类本身和在同一个包中的类可以访问它,方法类似
yeehu1984
2010-05-22
打赏
举报
回复
就默认了,包内访问
llf371755616
2010-05-22
打赏
举报
回复
1
[Quote=引用 14 楼 niepeng109 的回复:]
类如果不写访问修饰符是friendly (只有本类和同一包中的类可以访问,其他没有访问权限)
而方法不写访问修饰符是private (只能在本类使用,其他都不行)
[/Quote]
是吗 ?
小马喝水
2010-05-22
打赏
举报
回复
friendly
SunCd3210oqq
2010-05-22
打赏
举报
回复
友好的,而且友好的一般只能在包内访问。
鹏_子
2010-05-22
打赏
举报
回复
类如果不写访问修饰符是friendly (只有本类和同一包中的类可以访问,其他没有访问权限)
而方法不写访问修饰符是private (只能在本类使用,其他都不行)
desty178
2010-05-22
打赏
举报
回复
friendly
危险的大猫
2010-05-22
打赏
举报
回复
mark
zhhp0754
2010-05-22
打赏
举报
回复
[Quote=引用楼主 ass1771 的回复:]
我所说的是public private protected 这类修饰
[/Quote]
如果不写,是默认包内访问,对于类来说,只有两种情况(内部类不说):一个是public,另一个是不写任何访问修饰符,也就是包可见。
而,类的方法,只有在类的前提下,才会起作用。
我建设你去看看SCJP考试试题,很多都很考你的基础知识,我也在看。
PS: SCJP的认证考试挺贵的,我只看,不考。。。
Thinking_In_IT
2010-05-21
打赏
举报
回复
[Quote=引用楼主 ass1771 的回复:]
我所说的是public private protected 这类修饰
[/Quote]
默认其实是 friendly
即:包访问权限
q305277391
2010-05-21
打赏
举报
回复
friendly 只允许类所在包内部的类访问
lc_HHHHH
2010-05-20
打赏
举报
回复
[Quote=引用 3 楼 mars_ma_ok 的回复:]
如果一个类的成员没有任何权限修饰,那么它门就是缺省包访问权限,用friendly来表示,注
意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已。同一个包内其它类可以访问,但包外
就不可以。对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录
的default package,可以相互调用class中的frie……
[/Quote]
正解
paullbm
2010-05-20
打赏
举报
回复
一句话简言之:
不写修饰符的时候就是能够被同一个包中的其它类访问!!
xiaobluesky
2010-05-20
打赏
举报
回复
[Quote=引用 8 楼 jiajerry0 的回复:]
引用 3 楼 mars_ma_ok 的回复:
如果一个类的成员没有任何权限修饰,那么它门就是缺省包访问权限,用friendly来表示,注
意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已。同一个包内其它类可以访问,但包外
就不可以。对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录
的default……
[/Quote]
顶!包访问权限 详见THINKING IN JAVA
jiajerry0
2010-05-20
打赏
举报
回复
[Quote=引用 3 楼 mars_ma_ok 的回复:]
如果一个类的成员没有任何权限修饰,那么它门就是缺省包访问权限,用friendly来表示,注
意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已。同一个包内其它类可以访问,但包外
就不可以。对于同一个文件夹下的、没有用package的classes,Java会自动将这些classes初见为隶属于该目录
的default package,可以相互调用class中的fri……
[/Quote]
这个简洁正解
plplum
2010-05-20
打赏
举报
回复
太冲动了,回答错了!。。。。。
[Quote=引用 1 楼 plplum 的回复:]
public
[/Quote]
plplum
2010-05-20
打赏
举报
回复
java中只有public、private、protected、default这几种修饰符,没有friendly修饰符,没加修饰符就是friendly。friendly只是一种说法,把它认为是defaul
plplum
2010-05-20
打赏
举报
回复
private,public,protected,默认不写(firendly)
1、Class类的访问权限:
public:可以供所有的类访问。
默认:默认可以称为friendly但是,java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++。默认的访问权限是包级访问权限。
即如果写了一个类没有写访问权限修饰符,那么就是默认的访问权限,同一个包下的类都可以访问到,即使可以实例化该类
(当然如果这个类不具有实例化的能力除外,比如该类没有提供public的构造函数)。
说明:
1、每个编译单元(类文件)都仅能有一个public class
2、public class的名称(包含大小写)必须和其类文件同名。
3、一个类文件(*.java)中可以不存在public class。
这种形式的存在的场景:如果我们在某个包内撰写一个class,仅仅是为了配合同包内的其他类工作,而且
我们不想再为了撰写说明文档给客户(不一定是现实意义的客户,可能是调用这个类的类)看而伤脑筋,而且有可能过一段时间之后
有可能会彻底改变原有的做法,并完全舍弃旧版本,以全新的版本代替。
4、class不可以是private和protected。
5、如果不希望那个任何产生某个class的对象,可以将该类得所有构造函数设置成private。但是即使这样也可以生成该类的对象,就是class的static的成员(属性和方法)可以办到。
2、类成员变量的访问权限:
public:紧接public的属性任何类都可以访问到。可以直接使用ClassName.propertyName。但是从类的封装性上来考虑将一个类的属性定义成public一般很少使用,
在定义静态常量的时候通畅会这样定义。如:public static final int PAGE_SIZE=10;
private:只有类本身内部的方法可以访问类的private属性,当然内部类也可以访问其外部类的private成员的。(属性和方法)
默认(friendly):包级可见,同一个包内的类可以访问到这个属性,可以直接使用className.propertyName来访问,但是从类的封装性特性来说很少这样使用类的属性的。
protected:关键字所处理的是所谓“继承”的观念。对于同一包的其他类,protected=默认,对于不同包的类,如果存在继承关系,而baseClass存在protected属性,则可以被其自继承,而不同包的其他类
则不能访问类的protected属性。
3、类的成员方法的访问权限:
其从语法角度来讲,这些访问权限控制符作用于类的方法和作用于类的属性上的效果是一样的。
public:所有类可见。
pirvate:只有同一类内部的方法可见,在有就是内部类也可以访问到。
默认(friendly):包内可见。
protected:继承可见。
4、访问权限存在的理由
1、“让使用者无法碰触到他们不该碰触的东西。”这些东西仅供类的内部机制使用。将某些成员声明成private,对于使用者来说可以说是一种服务,
因为这样使用者可以知道哪些是他关注的哪些是不重要的,不需要关注,如此历来对于使用来说降低了对使用对象认识的难度。
2、(最终要的理由)让程序设计者可以更动class内部运作方式,而无须担心波及到客户端程序。
5、java的“访问权限修饰符”赋予classes开发者极具有价值的控制能力。身为classes开发者,如果你的任何改变可以完全不干扰你的使用者,
你便可以安心改变你的底层实现,因为客户端程序员无法访问class的这一部分。
通过今天学习访问权限的问题了解到,接口或者抽象等等策略所谓的“实现隐藏”其根本原因并不是说为了隐藏实现的代码和思路,而是降低使用者的使用难度,以及从维护角度来说可见范围的控制给程序维护带来了极大的安全性。
加载更多回复(4)
Java
不写
修饰
符
默认
是什么
修饰
符?
在
Java
中,如果
不写
修饰
符,
默认
情况下是包级(package-private)访问权限。这意味着类、字段、
方法
或构造函数没有明确的访问
修饰
符时,它们只能在同一个包内访问,对于其他包中的类是不可见的。这是
Java
中的
默认
访问级别。将具有包级访问权限,只能在同一个包内的其他类中访问。如果您尝试从不同的包中访问这个类,将会收到编译错误。如果您希望将类、字段、
方法
或构造函数设为。,以便在任何地方都能访问,您需要明确使用。
java
访问
修饰
符
不写
默认
是什么_【
Java
面试题】访问
修饰
符public、private、protected、default(
默认
不写
) 区别...
Java
中访问
修饰
符public、private、protected、以及default(
默认
不写
) 时的区别??
Java
有四种访问权限,其中三种有访问权限
修饰
符,分别为private,public和protected,还有一种不带任何
修饰
符:1、private,私有的,被private
修饰
的类、
方法
、属性、只能被本类的对象所访问。我什么都不跟别人分享。只有自己知道。2、default,
默认
的,在...
java
访问
修饰
符
不写
默认
是什么_
Java
访问
修饰
符有哪些?权限的区别?
Java
语言中有四种权限访问控制符,能够控制类中成员变量和
方法
的可见性。public被 public
修饰
的成员变量和
方法
可以在任何类中都能被访问到。被 public
修饰
的类,在一个
java
源文件中只能有一个类被声明为 public ,而且一旦有一个类为 public ,那这个
java
源文件的文件名就必须要和这个被 public 所
修饰
的类的类名相同,否则编译不能通过。protecte...
java
默认
修饰
符_
java
默认
方法
的
修饰
符是什么
默认
什么都不加,就是default(不用把default写出来)。意思就是只能由跟这个类在同一个包中的类来访问,比private限制更少,但比protected限制更多。'
Java
访问
修饰
符包括private,default,protected和public。含义分别表示私有的,
默认
的,受保护的和公有的访问
修饰
符。这些访问
修饰
符既可以
修饰
类中的属性,又可以
修饰
类中的
方法
,而public和defau...
java
修饰
符
默认
_
Java
的类,
方法
,变量等等的
默认
修饰
符是什么
访问控制
修饰
符
Java
中,可以使用访问控制符来保护对类、变量、
方法
和构造
方法
的访问。
Java
支持4种不同的访问权限。
默认
的,也称为default,在同一包内可见,不使用任何
修饰
符。私有的,以private
修饰
符指定,在同一类内可见。共有的,以public
修饰
符指定,对所有类可见。受保护的,以protected
修饰
符指定,对同一包内的类和所有子类可见。
默认
访问
修饰
符-不使用任何关键字使用
默认
访问
修饰
...
Java EE
67,550
社区成员
225,863
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
积分榜
荣誉榜
原力榜
学习榜
近7日
近30日
至今
排名
用户
积分
不良使
485
越重天
290
微风洋洋
55
4
cjcsb88
55
5
伟庭大师兄
45
6
CSDN-Ada助手
30
7
wow334
25
8
蔡徐坤ikun
25
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章
手机看
关注公众号
客服
返回
顶部