黑马程序员技术交流社区
标题:
求解
[打印本页]
作者:
阿斯达克
时间:
2015-5-9 21:30
标题:
求解
父类中 成员变量 用private修饰,子类怎么访问呢?
作者:
2666fff
时间:
2015-5-9 21:30
上代码两种方法,你看看
public class classaandb {
static class A
{
private static final int a=9;
private int aa=10;
public int getaa(){
return aa;
}
}
static class B extends A
{
public int b = A.a;
public int c = super.getaa();
}
public static void main(String[] args) {
A a = new A();
B b = new B();
System.out.println(a.a + " "+ a.getaa());
System.out.println(b.b + " "+ b.c);
}
}
复制代码
作者:
YRDHelloworld
时间:
2015-5-9 22:54
子类不能直接访问父类私有成员变量,但是父类可以对外提供一个get()获取的方法间接访问父类私有成员变量
作者:
Troy-Fu
时间:
2015-5-9 22:55
父类的成员变量用private修饰,父类要有set,get方法,子类继承父类后,创建对象,调用set方法对成员变量赋值,然后调用get方法获取,子类方法中可以使用get方法调用使用
作者:
过路人
时间:
2015-5-9 23:43
父类中的属性如果定义成private,那么必定会定义与该属性对应的get()和set()方法,来获取和修改该私有属性的值.
作者:
yufuhong
时间:
2015-5-10 00:56
本帖最后由 yufuhong 于 2015-5-10 01:01 编辑
使用super(参数)的格式,比如
class Fu
{ private int age;
public Fu(){}
public Fu(int age){this.age = age}
public void show(){System.out.println(age);}
}
class Zi extends Fu
{
public Zi(){}//无参构造
public Zi(int age){super(age)}//有参构造
}
//测试类
class Demo
{
//写主方法
public static void main(String[] args){
//new子对象
Zi z=new Zi(10);//传入参数
//调用show方法
z.show();
}
}
作者:
匡璐
时间:
2015-5-10 10:11
比如说
private int age;
这个私有的变量
下面写一个对外访问的方法
publlic int getAge();
return age;
publlic void setAge(ing age);
this.age=age;
用这2个函数可是实现对私有变量的设置和获取
具体的自己再测试一下
纯手打 望采纳
作者:
方的黑马
时间:
2015-5-10 13:26
那就不要private了呗,用哪个太麻烦,
作者:
lingdu
时间:
2015-5-10 17:53
方法一:用getter方法获取。
方法二:使用反射获取。
作者:
as12510
时间:
2015-5-10 22:34
被私有 修饰后 除了自己 其他类都不能访问 只有通过构造方法 或者setXXX和getXXX来赋值和调用
作者:
只想好好的
时间:
2015-5-10 22:51
本帖最后由 只想好好的 于 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);
}
}
作者:
笔墨痕干
时间:
2015-5-11 15:23
子类不能直接访问父类中的私有变量,可以通过set方法赋值,用get方法获取
作者:
赵旗
时间:
2015-5-11 22:00
可以在父类中写一个get set方法 让子类调用
作者:
kolen.j
时间:
2015-5-12 00:07
楼上的都是正解,,,
作者:
PeNg★宇
时间:
2015-5-12 00:39
访问不到
作者:
CoeusLYJ
时间:
2015-5-12 14:58
public class Question2 {
public static void main(String[] args) {
Student s1=new Student("xiaoming","public XXX school");
}
}
class Student extends Person{
String school;
Student(String name,String school){
super.setName(name); //访问父类私有成员需要使用父类提供访部访问的方法
//因为继承之后就相当于子类也拥有这个私有成员
this.school=school;
}
Student(){
}
}
class Person{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
复制代码
作者:
mmakun
时间:
2015-5-12 16:00
子类无法访问,只能调用父类方法访问它
作者:
南朝小和尚
时间:
2015-5-12 21:19
要么调用其他方法,要么父类接口
作者:
古典牧童
时间:
2015-5-13 01:21
子类不能直接访问啊,但是可以通过一个public的getter和setter方法来访问
作者:
yas丶
时间:
2015-5-13 14:35
在父类中建立getset方法进行获取
作者:
liujin
时间:
2015-5-14 00:38
父类中成员变量私有后,如果需要子类访问,要在父类中写set和get方法来获取
作者:
珠宝
时间:
2015-5-14 23:05
子类只能访问父类中所有非私有的成员,子类若要访问,需要在父类中提供公共的访问方式get和set的方法
作者:
开弓没有回头箭
时间:
2015-5-14 23:06
子类不能直接访问父类私有成员,只有通过父类提供的方法访问
作者:
枕寒流
时间:
2015-5-15 10:06
子类中可以使用父类的get方法调用父类私有成员变量
作者:
桂翔
时间:
2015-5-16 15:32
可以在父类中写一个public修饰方法,来间接调用
作者:
油炸电视剧
时间:
2015-5-17 09:19
这个算是父类私有的属性,如果父类没有定义这个属性的set和get方法的话,那么你就不能访问到这个属性。这个就像父类的二奶,他是不肯你去访问的(听一个视频上讲的,至今记忆深刻)。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2