• 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不能被子类访问吗?

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

  • 相关阅读:
    跨域请求页面跳转
    media query学习笔记
    JSONP跨域数据调用
    【转】轮询、长轮询、iframe长连接、web socket
    [转]node.js学习笔记(二)
    【转】require.js学习笔记(二)
    【转】require.js学习笔记(一)
    计算星期
    确定母亲节
    计算时钟的夹角
  • 原文地址:https://www.cnblogs.com/skyfffire/p/6478116.html
Copyright © 2020-2023  润新知