当前位置:编程学习 > JAVA >>

java多态

在子类对象中怎么访问父类同名的属性及方法? --------------------编程问答-------------------- 父类的指针指向子类实例引用的变量时父类的变量 --------------------编程问答-------------------- 属性的话,是要索引类型是父类型即可。方法的话,必须对象为父类对象才行。
例如:
class A
{
 public int value = 1;
 public void show(){
   System.out.println("A.show()");
 }
}


class B extends A
{
 public int value  = 2;
 public void show(){
   System.out.println("B.show()");
 }
}

此时如果:
A ab = new B();
ab.value是为1的,但是ab.show()是显示"A.show()" --------------------编程问答--------------------
//父类A
class A{
public  String a = "1234";
public void getB(String str){
System.out.println(str);
}
}
//子类B
class B extends A{
public static void main(String[] args) {
A b = new B();
b.getB(b.a);
}
}
--------------------编程问答-------------------- 1.创建一个子类实例,返回一个父类对象
2.返回值是父类
3.参数是父类
这都可以访问,但要保证父类的属性或方法不是private的 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 楼主 hy2030 的回复:
在子类对象中怎么访问父类同名的属性及方法?

很简单,主要就是一个super关键字,下边是一个例子楼主自己看吧
public class A {
private String a = "a";
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public void print(){
System.out.println(" class A:"+this.a);
}
public static void main(String[] args) {

B  b= new  B ();
b.print();
System.out.println(b.getA());

}
}
class B extends A{
private String a = "b";
public String getA() {
return super.getA();
}
public void setA(String a) {
this.a = a;
}
public void print(){
super.print();
}
} --------------------编程问答-------------------- this  super  楼主知道这两个东西了 基本解决!!!!
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,