• 私有成员变量可以被子类继承吗


    今天看spring源码,不经意间发现了一问题:在一个抽象类中定义了一个私有成员变量。

    仔细想想:抽象类不能被实例化的,只能被子类继承。但是自从学java的继承只有,我们就知道,子类不能继承父类的私有成员变量或方法的。

    问题:在该抽象方法中定义这个私有变量有什么用呢?或者说这个私有成员变量再什么地方用得到呢?

    所以自己做了一个测试如下:

    public abstract class Fatherclass {
        private int privatenumber;
        
        public int getPrivatenumber() {
            return privatenumber;
        }
        public void setPrivatenumber(int privatenumber) {
            this.privatenumber = privatenumber;
        }
    }
    
    
    public class Childclass extends Fatherclass{
    
        public static void main(String[] args) {
            Childclass childclass=new Childclass();
            Childclass1 childclass1=new Childclass1();
            childclass.setPrivatenumber(125);
            System.out.println(childclass.getPrivatenumber());
            System.out.println(childclass1.getPrivatenumber());
        }
    }
    
    
    
    public class Childclass1 extends Fatherclass {
        
    }

    运行结果如下:

    125
    0

    通过测试,我们发现子类确实继承了父类的私有属性(也可以说是子类拥有一个属性,继承自父类,但是该属性的访问权限暂时不确定),但是我们无法通过子类直接访问该(继承自父类私有属性)的属性。我暂且该这种属性的访问权限起名为fatherprivate(意为继承自父类私有属性)

    通过浏览博客,发现一篇博客对上面情况总结的很好:http://blog.csdn.net/frank_jb/article/details/42739785

  • 相关阅读:
    NodeJS学习笔记之Connect中间件模块(一)
    XML CDATA节点
    6个强大的AngularJS扩展应用
    java使用poi读取ppt文件和poi读取excel、word示例
    Java log4j详细教程
    JAVA8 十大新特性详解
    Express 路由
    基于 Node.js 平台,快速、开放、极简的 web 开发框架。
    Node.js 手册查询-1-核心模块方法
    Node.js 手册查询-2-MongoDB数据库方法
  • 原文地址:https://www.cnblogs.com/yidaijiankuanzhongbuhui/p/8417051.html
Copyright © 2020-2023  润新知