黑马程序员技术交流社区
标题:
子类的函数可以通过子类的构造函数访问到父类的私有变...
[打印本页]
作者:
黄诗宾
时间:
2013-3-27 23:54
标题:
子类的函数可以通过子类的构造函数访问到父类的私有变...
本帖最后由 黄诗宾 于 2013-3-28 08:57 编辑
abstract class Fu{
private String name;
private int age;
private double salary;
Fu(String name,int age,double salary){
this.name=name;
this.age=age;
this.salary=salary;
}
String getName(){
return name;
}
int getAge(){
return age;
}
double getSalary(){
return salary;
}
abstract void work();
}
class Programmer extends Fu{
Programmer(String name,int age,double salary){
super(name,age,salary);
}
void work(){
System.out.println(name+age+salary+"打程序");
}
}
class Demo2{
public static void main(String[] args){
Programmer p = new Programmer("张三",22,2000.22);
p.work();
}
}
复制代码
打印显示
2222.jpg
(17.37 KB, 下载次数: 5)
下载附件
2013-3-27 23:54 上传
这个意思是说
子类的函数可以通过子类的构造函数访问到父类的私有变量么?
作者:
续圆凯
时间:
2013-3-28 00:05
一个子类只能继承其父类的可访问的成员,并且该子类没有覆盖或者说隐藏父类中的那些可访问成员。所以,一个类的成员就是指在这个类中所声明的属性和方法,再加上从其父类继承而来的属性和方法。也就是说,子类是不能继承父类的私有成员的。
虽然子类不继承父类中的私有成员,但是在父类中生命的这些私有成员仍然是子类类型对象的一部分。因为在实例化对象的时候,只初始化在当前类中所声明的属性明显是不足够的,还需要初始化其父类中所有声明的属性。在实例化的过程中,JVM 需要为对象的类及其父类中所有定义的属性分配空间,包括父类中声明的私有成员。
所以,我们可以说:子类不能从父类继承私有成员,但是子类的对象是包括子类所不能从父类中继承的私有成员的。
作者:
黑马19我最牛
时间:
2013-3-28 01:11
子类是不能访问父类中的private
它报错的意思是,name 可以在父类中访问private,但是不能在子类中访问父类中的name
private关键字的定义是“除了包含该成员的类之外,其他任何类都无法访问这个成员.”,也就是说只有自己才能直接访问到private成员,其他任何类,包括子类都无法访问到这个成员。
作者:
李尧
时间:
2013-3-28 02:39
意思是说 name这个属性 只能在fu这个类中才能访问 因为他是私有的....
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2