黑马程序员技术交流社区
标题:
继承问题
[打印本页]
作者:
msileandroid
时间:
2013-6-14 19:33
标题:
继承问题
子类是否继承父类的私有成员?????{:3_66:}
作者:
j816326
时间:
2013-6-14 19:42
继承:
看代码:
class Teacher
{
String name;
int age;
public void study()
{
System.out.println("学习");
}
}
class Student
{
String name;
int age;
public void study()
{
System.out.println("学习");
}
}
这样的时候,代码的重复度很高。
那么,该怎么解决呢?
我们可以这样思考:先定义一个类,里面包含共同的东西:
class Person
{
String name;
int age;
public void study()
{
System.out.println("学习");
}
}
接着,在定义Teacher和Student类。
不过,这个时候我们在写这两个类的时候,如果,他们能够和Person类产生一个关系,
有了这个关系后,他们就可以拥有Person类的内容。这样该有多好呢?
不用急,java中针对这种情况,提供了一种技术:继承。
继承怎么表示呢?extends
怎么用呢?
class 类A extends 类B
{
}
表示类A继承类B,这个时候,类A就具有了类B中的除了private修饰以外的东西。
这个时候,来完成Teacher类和Student类。
class Teacher extends Person
{
}
class Student extends Person
{
}
继承的好处:
A:提高了代码的复用性。
B:让类与类之间产生了关系,是多态的前提。
作者:
msileandroid
时间:
2013-6-14 19:52
网上有人说子类在new时,仍然有父类的私有成员的内存空间,是不是就是继承了,只不过不能访问而已????{:soso_e132:}
作者:
影响力147753321
时间:
2013-6-14 19:52
1,私有成员对外不可见,private属性不能被继承;
2、子类对象实例化的时候会同时实例化一个父类对象;
3、子类中可以存在与父类private方法签名相同的方法,可以认为是覆盖。
子类不能继承父类的private属性(事实1),但可以通过继承的方法(比如,public方法)访问到父类的private属性。
作者:
孙百鑫
时间:
2013-6-15 07:12
楼主您好.请及时将主题改成 已解决哦
作者:
com_heima
时间:
2013-6-15 07:57
私有成员不可以被继承,如果被继承那么父类成员,只可以是protected 和 public 这2种修饰
作者:
To
时间:
2013-6-15 16:25
请及时改为已解决!
作者:
林森~Linson
时间:
2013-6-15 18:02
不能。只能继承protected,public,default类型的数据和方法
作者:
孙百鑫
时间:
2013-6-22 01:21
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2