黑马程序员技术交流社区
标题:
关于继承的一个小问题
[打印本页]
作者:
邹铭钰
时间:
2013-3-20 10:21
标题:
关于继承的一个小问题
本帖最后由 邹铭钰 于 2013-3-20 11:10 编辑
子类可以继承父类的属性和方法,那么父类定义了私有的,子类可能继承???
作者:
何仕映
时间:
2013-3-20 10:24
不可以的,被private修饰的只能在本类中有效。被私有修饰的函数,子类是看不见的也就是不能继承的。
作者:
Alex shaw
时间:
2013-3-20 10:26
不可以,父类的私有方法只有自己的实例可以访问到
如果该私有方法为静态则也可以通过类名来访问
子类是无法访问父类的私有方法的,但是父类的protect方法子类是可以访问的
作者:
爪哇攻城狮
时间:
2013-3-20 10:26
当然不能,私有的只能在本类中才可以访问 。
1) private
类中限定为private的成员,只能被这个类本身访问。
如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。
2) default
类中不加任何访问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。
3) protected
类中限定为protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。
4) public
类中限定为public的成员,可以被所有的类访问。
复制代码
作者:
邹铭钰
时间:
2013-3-20 10:33
子类不能继承父类,那么多态里定义一个父类引用指向子类对象,这样能不能使用父类里的私有呢?
作者:
我手心里的宝
时间:
2013-3-20 10:45
子类不能继承父类的私有方法,但是可以通过get方法获取父类的私有属性
例:
class Parent{
private String name;
private int age;
Parent(String name,int age){
this.name=name;
this.age=age;
}
public void getAge(){//提供get方法,让子类进行访问
return this.age;
}
}
class Son{
Son(){
super(name,age);
}
super.getAge();//通过getAge获取age信息
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2