子类为什么不可以访问父类的private属性

来源:4-10 学生选课---应用泛型管理课程 Ⅱ

温酒煮胖豆

2017-03-10 19:47

一个类可以通过getter或者setter方法让其他类来访问自己的private属性

但是

为什么子类继承了父类以后就不能用getter或者setter 来访问他的private属性的呢?

如果子类想要想要访问父类的private属性该怎么办?

写回答 关注

7回答

  • 斜阳下愿追寻
    2018-03-01 11:14:24

    你可以百度一下各修饰词的属性,就会比较容易理解了(public,private,protected)

  • qq_为妳战天下_0
    2017-07-22 20:38:58

    这个问题,类似于问别人1+1为什么等于2,没意义

  • say意
    2017-04-09 16:11:47

    父类有些内容是不能继承的,看修饰符就可以确定哪些可以继承。private、static、final修饰的内容是不能继承的。如果想要访问父类的private域,需要定义getter方法,把域的值作为方法的返回值,其他类调用这个方法就能得到private域的值。通俗地说,对于其他类而言,getter方法是读的权限,而setter方法是写的权限。

  • gokangu
    2017-03-10 21:56:19

    首先,你要明白子类继承父类的protected和public的属性及方法,换句话说,你的子类里并没有父类当中的private属性,虽然子类继承了父类的方法,但是由于没有继承来private的属性,因此,方法也是不可用的,也就是说,你的子类实例化后也没有id和name,那你怎么get和set。

    gokang... 回复温酒煮胖豆

    不是的,子类调用,只能更改子类的实例对象的属性,总之,记住父类的私有属性你无法访问,如果你用父类实例化一个子类对象,子类调用父类public方法是可以的,更改的也只是子类的实例化对象。

    2017-03-15 14:01:41

    共 2 条回复 >

  • cc___
    2017-03-10 21:28:23

    调用父类的set get 你的ccr对象是子类的对象吗

    cc___ 回复温酒煮胖豆

    你继承了你爸爸的公司,你把自己的秘密还是只是他自己知道。 必学通过他来获取。

    2017-03-10 21:44:17

    共 2 条回复 >

  • 温酒煮胖豆
    2017-03-10 21:22:10

    报错代码

    http://img.mukewang.com/58c2a84f000131cd08360546.jpg

    http://img.mukewang.com/58c2a8500001267508310393.jpg

    http://img.mukewang.com/58c2a8500001098408250511.jpg


  • cc___
    2017-03-10 21:11:09

    首先private属性继承不下来,因为子类看不见父类中的private属性。

    要想在子类中访问父类的private属性,可以调用父类的get set方法来访问。

    cc___ 回复温酒煮胖豆

    定义个父类的对象 在调用set get 方法就OK了

    2017-03-10 21:31:23

    共 2 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题