黑马程序员技术交流社区
标题:
a访问不到到底是Zi没有继承a,还是私有化了没办法访问啊...
[打印本页]
作者:
2528870651
时间:
2014-3-14 12:58
标题:
a访问不到到底是Zi没有继承a,还是私有化了没办法访问啊...
本帖最后由 2528870651 于 2014-3-15 12:32 编辑
class ExtendsDemo2
{
public static void main(String[] args)
{
Zi p= new Zi();
p.show();
}
}
class Fu
{
private int a= 4; //把a私有化
}
class Zi extends Fu
{
// int a=3;
void show()
{
System.out.println(super.a); //访问不到a,到底是Zi没有继承a,还是私有化了没办法访问啊
}
}
复制代码
作者:
菜小徐
时间:
2014-3-14 13:14
私有化的问题。
private 类访问权限:本类内部可以访问,不能继承到子类;
default 什么都不写,包访问权限:本类内部可以访问,同包其他类也可以访问,同包可继承;
protected 子类访问权限:本类内部可以访问,不同包的子类也可以访问,同包其他类也可以访问,能继承到子类;
public 公共访问权限:任何地方都可以访问,能继承到子类;
作者:
艮昕辶
时间:
2014-3-14 13:27
private 修饰的成员变量或者方法都只能在类定义的内部使用
class ExtendsDemo2
{
public static void main(String[] args)
{
Zi p= new Zi();
p.showZi();
}
}
class Fu
{
private int a= 4; //把a私有化
private void show()
{
System.out.println("父类的private方法");
}
}
class Zi extends Fu
{
private void showZi()
{
super.show();
}
}
复制代码
作者:
谜燕
时间:
2014-3-14 13:59
被私有化的成员是不能被子类继承的,只在它所在的类中有效。
作者:
橸瑩膤漃寞林
时间:
2014-3-14 14:36
private:私有只在本类中有效,zi就不能继承fu了。要想继承,去掉private就行了。
作者:
1014917278
时间:
2014-3-14 14:43
确实是私有的问题,私有后只能在本类中被访问到,私有就是封装,私有后可以通过set和get方法来获取私有值
class Fu{
private int a =4;
public void set(int a){
this.a = a;
}
public int get(){
return a;
}
复制代码
作者:
2528870651
时间:
2014-3-15 09:15
谢谢大家的回答 !! 父类中 a被私有化了 所以子类再来继承的话 子类根本不知道有一个a
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2