黑马程序员技术交流社区

标题: private [打印本页]

作者: 王雷1    时间: 2013-11-26 16:52
标题: private
本帖最后由 王雷1 于 2013-11-26 16:55 编辑

我想问下,被私有了的变量能否被继承,如果继承过来了,为什么不能访问只能通过javabean的形式,私有是权限不让别的类访问,但是我继承过来了不就是我的了么?为什么还不行,难道这个权限的访问修士符还能禁止继承不成?
作者: 容嬷嬷当年也是    时间: 2013-11-26 17:15
私有变量可以继承这句话肯定是错的。如果想访问父类的私有变量,只能通过父类的方法来。重申一遍,私有变量除了本类的内部类可以直接访问之外,任何其他类都是看不到他的私有变量的。因为私有变量对别的类不可视。
作者: 涐扪①起奮乧    时间: 2013-11-26 17:25
私有的目的就是为了不让别的类直接用,要想访问必须通过父类的方法来访问,要不然私有就没有什么意义了。
作者: 王雷1    时间: 2013-11-26 17:34
容嬷嬷当年也是 发表于 2013-11-26 17:15
私有变量可以继承这句话肯定是错的。如果想访问父类的私有变量,只能通过父类的方法来。重申一遍,私有变量 ...

你要清楚,private是访问的权限,我要继承,不是访问,你能明白?继承过来的为什么访问不了,还是说private不光是访问修饰符?
作者: 王雷1    时间: 2013-11-26 17:37
涐扪①起奮乧 发表于 2013-11-26 17:25
私有的目的就是为了不让别的类直接用,要想访问必须通过父类的方法来访问,要不然私有就没有什么意义了。 ...

那你说我为什么要继承,继承不就是要用它的东西么?不让继承就直接final类,不就不能继承了,为什么私有,难道final类跟私有可以有同样的效果?
作者: 张天昊76    时间: 2013-11-26 22:57
首先,外部类的权限访问就只有两种情况,一个是public一个是默认(就是class前面什么都不写)。要说private能修饰类也只能修饰内部类。
其次:private可以修饰变量、构造器,方法、内部类;在变量前面加private 表示类的私有属性,只可以在类内部访问使用。
你的意思是说继承了就能获取父类的属性和方法,并不是所有父类的所有属性或方法都有让子类拥有,有些内容不想让子类知道。这时java就用关键字private来标识了。
作者: 王雷1    时间: 2013-11-27 09:48
张天昊76 发表于 2013-11-26 22:57
首先,外部类的权限访问就只有两种情况,一个是public一个是默认(就是class前面什么都不写)。要说private ...

也就是说被private修饰过的成员不可被继承?
private也就不光是访问权限的修饰符了?
作者: 王雷1    时间: 2013-11-27 12:34
张天昊76 发表于 2013-11-26 22:57
首先,外部类的权限访问就只有两种情况,一个是public一个是默认(就是class前面什么都不写)。要说private ...

像你说的,类上只能有两个修饰符,String是怎么被final修饰的?
作者: 张天昊76    时间: 2013-11-27 20:53
本帖最后由 张天昊76 于 2013-11-27 20:56 编辑
王雷1 发表于 2013-11-27 12:34
像你说的,类上只能有两个修饰符,String是怎么被final修饰的?

权限,权限,OK?
那类名还可以被abstract修饰。
作者: 张天昊76    时间: 2013-11-27 20:59
王雷1 发表于 2013-11-27 09:48
也就是说被private修饰过的成员不可被继承?
private也就不光是访问权限的修饰符了? ...

回答第一个问号,是的。
第二句,恕我愚笨,我读了几遍也没明白你想表达个啥意思。
作者: FFF    时间: 2013-12-2 00:17
同学、问题已经解决了吗?
如果没有、就去新版28期问吧,26~27已经结束了。开班了!
http://bbs.itheima.com/forum-165-1.html

如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
如果没有解决,可能你的问题问得不够清楚。可以重新发问的哦~





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