zoukankan      html  css  js  c++  java
  • private与继承——《Thinking in Java》随笔009

    Student 类:

     1 package cn.skyfffire;
     2 
     3 /**
     4  * 
     5  * @author skyfffire
     6  *
     7  */
     8 public class Student {
     9     private int id;
    10     private String name;
    11     
    12     // getter/setter
    13     public int getId() {
    14         return this.id;
    15     }
    16     
    17     public void setId(int _id) {
    18         this.id = _id;
    19     }
    20     
    21     public String getNameString() {
    22         return this.name;
    23     }
    24     
    25     public void setName(String _name) {
    26         this.name = _name;
    27     }
    28 }

    新建一个类继承Student类:

     1 package cn.skyfffire;
     2 
     3 /**
     4  * 
     5  * @author skyfffire
     6  *
     7  */
     8 public class SuperStudent extends Student {
     9     
    10 }

    新建测试类:

     1 package cn.skyfffire;
     2 
     3 /**
     4  * 
     5  * @author skyfffire
     6  *
     7  */
     8 public class Test {
     9     public static void main(String[] args) {
    10         SuperStudent ss = new SuperStudent();
    11         
    12         ss.setId(100);
    13         
    14         System.out.println(ss.getId());
    15     }
    16 }

    输出结果:100

    我们发现private修饰的Student的成员属性居然被SuperStudent继承下来了?

    究竟是怎么回事?

    不是说好的private不能被子类访问吗?

    查找了资料后发现:子类继承父类会继承所有属性!但没有权限访问父类的成员属性!

  • 相关阅读:
    自动化运维与Saltstack
    keepalived+nginx 高可用集群
    Nginx集群(负载均衡)
    Nginx优化
    Nginx管理(一)
    业务环境、测试、上线逻辑
    服务器部署逻辑
    python面试题——爬虫相关
    springmvc文件上传
    springmvc入门
  • 原文地址:https://www.cnblogs.com/skyfffire/p/6478116.html
Copyright © 2011-2022 走看看