继承中的成员变量的特性(私有成员的访问方法)
2016-12-02 22:18
399 查看
/**继承中的成员变量的特性
继承中成员变量的特点:
this:是一个引用,总是指向当前使用的对象
super:不是引用,当子父类中出现同名成员现象时,用于区分子父类中的成员的
(就是区分这个变量到底是谁的,是父类的还是子类的)
**/
class FU
{ //在类中定义的成员变量,为了防止其他地方调用赋了不合法的值,一般定义为私有的,如果私有了也能被继承,只是不能访问
private int num1=5;
public int getNum1()
{
return num1;
}
}
class Zi extends FU
{
int num1=6;//如果起名和父类的变量名一样,则就只会默认是本子类的值
public void show()
{
//如果子类的变量名和父类的一样,在变量名前写super就可以得到父类的变量,如下super.num1
// System.out.println(this.num1+","+super.num1); //输出结果:6,5
System.out.println(getNum1());//这里就可以得到了父类的num1
}
}
public class ExtendsCYBL {
public static void main(String[] args) {
Zi z=new Zi();
z.show();
}
}
/*输出结果
5*/
继承中成员变量的特点:
this:是一个引用,总是指向当前使用的对象
super:不是引用,当子父类中出现同名成员现象时,用于区分子父类中的成员的
(就是区分这个变量到底是谁的,是父类的还是子类的)
**/
class FU
{ //在类中定义的成员变量,为了防止其他地方调用赋了不合法的值,一般定义为私有的,如果私有了也能被继承,只是不能访问
private int num1=5;
public int getNum1()
{
return num1;
}
}
class Zi extends FU
{
int num1=6;//如果起名和父类的变量名一样,则就只会默认是本子类的值
public void show()
{
//如果子类的变量名和父类的一样,在变量名前写super就可以得到父类的变量,如下super.num1
// System.out.println(this.num1+","+super.num1); //输出结果:6,5
System.out.println(getNum1());//这里就可以得到了父类的num1
}
}
public class ExtendsCYBL {
public static void main(String[] args) {
Zi z=new Zi();
z.show();
}
}
/*输出结果
5*/
相关文章推荐
- JavaSE第六十四讲:使用反射机制调用对象的私有方法、访问对象的私有成员变量
- 访问C++类对象中私有成员变量的方法
- Java通过反射访问私有成员变量和私有方法
- iOS访问类的私有成员变量及私有方法
- C++继承中成员变量关系及访问方法的深入探究
- 通过操作地址的方法来访问C++类对象中私有成员变量
- 不用友元,访问类的私有成员变量的方法
- 不用友元,访问类的私有成员变量的方法
- 子类用反射可以访问父类中的私有成员变量及方法
- 《java编程思想》之控制对成员的访问权限的原因、final、继承和组合、私有方法的“覆盖”
- c++访问私有(private)成员变量的常用方法
- 不用友元,访问类的私有成员变量的方法
- 访问C++类对象中私有成员变量的方法
- 通过setxxx()和getxxx()方法对类中的私有成员变量进行赋值和访问
- iOS访问类的私有成员变量及私有方法
- 1-Java继承中多态情况特性下变量,方法,静态方法的访问
- 不用友元,访问类的私有成员变量的方法
- OC基础day4-继承,self,super,多态,类对象,SEL类型,description,私有方法与私有变量,三种访问限制
- 《java编程思想》之控制对成员的访问权限的原因、final、继承和组合、私有方法的“覆盖”
- 《java编程思想》之控制对成员的访问权限的原因、final、继承和组合、私有方法的“覆盖”