A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

阿斯达克

初级黑马

  • 黑马币:16

  • 帖子:8

  • 精华:0

© 阿斯达克 初级黑马   /  2015-5-9 21:30  /  7630 人查看  /  28 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
父类中 成员变量 用private修饰,子类怎么访问呢?

28 个回复

正序浏览
这个算是父类私有的属性,如果父类没有定义这个属性的set和get方法的话,那么你就不能访问到这个属性。这个就像父类的二奶,他是不肯你去访问的(听一个视频上讲的,至今记忆深刻)。
回复 使用道具 举报
可以在父类中写一个public修饰方法,来间接调用
回复 使用道具 举报
子类中可以使用父类的get方法调用父类私有成员变量
回复 使用道具 举报
子类不能直接访问父类私有成员,只有通过父类提供的方法访问
回复 使用道具 举报
子类只能访问父类中所有非私有的成员,子类若要访问,需要在父类中提供公共的访问方式get和set的方法
回复 使用道具 举报
父类中成员变量私有后,如果需要子类访问,要在父类中写set和get方法来获取
回复 使用道具 举报
在父类中建立getset方法进行获取
回复 使用道具 举报
子类不能直接访问啊,但是可以通过一个public的getter和setter方法来访问
回复 使用道具 举报
要么调用其他方法,要么父类接口
回复 使用道具 举报
子类无法访问,只能调用父类方法访问它
回复 使用道具 举报
  1. public class Question2 {

  2.         public static void main(String[] args) {
  3.                 Student s1=new Student("xiaoming","public XXX school");
  4.         }

  5. }
  6. class Student extends Person{
  7.         String school;
  8.         Student(String name,String school){
  9.                 super.setName(name); //访问父类私有成员需要使用父类提供访部访问的方法
  10.                                                          //因为继承之后就相当于子类也拥有这个私有成员
  11.                 this.school=school;
  12.         }
  13.         Student(){
  14.                
  15.         }
  16. }

  17. class Person{
  18.         private String name;

  19.         public String getName() {
  20.                 return name;
  21.         }
  22.         public void setName(String name) {
  23.                 this.name = name;
  24.         }
  25.        
  26. }
复制代码
回复 使用道具 举报
访问不到
回复 使用道具 举报
楼上的都是正解,,,
回复 使用道具 举报
可以在父类中写一个get  set方法 让子类调用
回复 使用道具 举报
子类不能直接访问父类中的私有变量,可以通过set方法赋值,用get方法获取
回复 使用道具 举报
本帖最后由 只想好好的 于 2015-5-10 23:40 编辑

子类是不能访问父类私有的方法的,但是可以设置一个get()方法,将他取出来,如
class Person{
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
class Sun extends Person{
public static void main(String[] args){
Sun s = new Sun();
Person p = new Person();
p.serName("hello");
String name = s.getName();
System.out.println(name);
}
}
回复 使用道具 举报
被私有 修饰后  除了自己  其他类都不能访问 只有通过构造方法 或者setXXX和getXXX来赋值和调用
回复 使用道具 举报
方法一:用getter方法获取。
方法二:使用反射获取。
回复 使用道具 举报
那就不要private了呗,用哪个太麻烦,
回复 使用道具 举报
匡璐 中级黑马 2015-5-10 10:11:32
9#
比如说
private int age;
这个私有的变量
下面写一个对外访问的方法
publlic int getAge();
return age;
publlic void setAge(ing age);
this.age=age;
用这2个函数可是实现对私有变量的设置和获取
具体的自己再测试一下
纯手打 望采纳

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马