黑马程序员技术交流社区

标题: 关于面向对象的问题 [打印本页]

作者: 刘_浩    时间: 2012-3-28 23:08
标题: 关于面向对象的问题
在毕老师讲课的时候总是提到private和public,蹲在厕所的时候,我在想,一个是公有,一个是私有,要是我不写这两个饰符,我试勃了还是可以的,仍然正常编译和执行。这里系统默认的又是什么呢?
请大侠指点。
作者: 袁野    时间: 2012-3-28 23:12
保护的,
作者: 郑涛    时间: 2012-3-28 23:29
关于这个,有一张表 说明private public 默认还有protected 的权限级别。从高到低分别是
1,public 2,protected 3,默认(default) 4,private
1public 任何类都可以访问
2protected 在同一个包中的所有类可以访问,以及该类的子类
3默认(default) 同一个包中的所有类
4private 只能在本类中访问
作者: 刘_浩    时间: 2012-3-28 23:30
袁野 发表于 2012-3-28 23:12
保护的,

我知道,加上了是起到权限作用,但是我两个修饰符都都没有加,还是可以;这种情况是什么情况呢?为什么还是可以正常运行呢?没有加这种情况默认的又是什么权限呢?
作者: 孙雪娇    时间: 2012-3-28 23:43
不是public 也不是private 应该是default
java修饰符有四个private default protected public 作用范围也依次扩大
类的作用域只有public 不写就是default
其他的就是下面的
private 本类可用
default 同一个包下的类可用
protected 同一个包下的类 和子类可用
public 都可用

作者: 刘_浩    时间: 2012-3-28 23:43
郑涛 发表于 2012-3-28 23:29
关于这个,有一张表 说明private public 默认还有protected 的权限级别。从高到低分别是
1,public 2,protec ...

谢谢,明白了。
作者: 刘_浩    时间: 2012-3-28 23:57
孙雪娇 发表于 2012-3-28 23:43
不是public 也不是private 应该是default
java修饰符有四个private default protected public 作用范围也依 ...

刚才我看了构造函数,构造函数的函数名和类名是一样的,他的前面也是没有加修饰符的,那么它前面可以加哪些呢,默认的又是什么呢?
作者: 孙雪娇    时间: 2012-3-29 00:06
构造函数是一个特殊的成员函数。。一般函数我们都要个返回值是不是?构造函数就不用。修饰符和成员函数一样。。
作者: 刘_浩    时间: 2012-3-29 00:12
孙雪娇 发表于 2012-3-29 00:06
构造函数是一个特殊的成员函数。。一般函数我们都要个返回值是不是?构造函数就不用。修饰符和成员函数一样 ...

明白了,也就是说构造函数的修饰和成员函数也是一样的。不甚感激。
作者: 孙雪娇    时间: 2012-3-29 00:17
liuhao411 发表于 2012-3-29 00:12
明白了,也就是说构造函数的修饰和成员函数也是一样的。不甚感激。

:)不客气:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2