java 父类引用子类对象_java 父类引用指向子类对象

java 父类引用子类对象_java 父类引用指向子类对象1 无论是泛型还是普通父类引用指向子类对象 父类引用可见范围都是父类自己的变量或函数 2 说明见注释代码如下 父类 packagecom atguigu spring beans publicclassF publicString publicString return publicvoidso

1. 无论是泛型还是普通父类引用指向子类对象,父类引用可见范围都是父类自己的变量或函数

2. 说明见注释

代码如下:父类

package com.atguigu.spring.beans;

public class Father {

public String fatherName;

public String fatherGetName(){

return “”;

}

public void sonUnImplementMethod(){

}

}子类

package com.atguigu.spring.beans;

import java.util.ArrayList;

import java.util.List;

/

*

* @author jaloLi

* @usage 综上所述(无论泛型,还是普通引用),如果父类引用指向子类对象,父类引用可见范围都是父类自己的变量或函数

*

*/

public class Son extends Father{

public String sonName;

public Son(String name){

this.sonName = name + fatherName;//正确,子类直接使用,父类的字段

sonUnImplementMethod();//正确,子类直接使用,父类的函数,即使子类未实现的父类函数,子类也可以调用

}

@Override

public String fatherGetName() {

return super.fatherGetName() + sonName;

}

public String sonGetName() {

return sonName;

}

public static void main(String args[]){

List list = new ArrayList();

Son son = new Son(“aaa”);

Son son1 = new Son(“bbb”);

Son son2 = new Son(“ccc”);

list.add(son);

list.add(son1);

list.add(son2);

System.out.println(list.get(0).fatherGetName());//正确,list 中是father 类引用,father 引用的可见范围只是子类的继承函数

System.out.println(list.get(0).sonGetName());//错误,father 类引用无法引用非继承函数

System.out.println(list.get(0).fatherName);//正确,father 引用的可见范围只是子类的继承字段

System.out.println(list.get(0).sonName);//错误

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219388.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:40
下一篇 2026年3月17日 下午10:40


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号