kaiyiliu123
V2EX  ›  Java

为什么子类静态属性不能被赋值?

  •  1
     
  •   kaiyiliu123 · Aug 15, 2019 via Android · 5429 views
    This topic created in 2505 days ago, the information mentioned may be changed or developed.

    static String name = super.name;

    报错

    37 replies    2019-08-19 22:49:35 +08:00
    kaiyiliu123
        1
    kaiyiliu123  
    OP
       Aug 15, 2019 via Android
    Cannot use super in a static context ?
    kaiyiliu123
        2
    kaiyiliu123  
    OP
       Aug 15, 2019 via Android
    擦,丢人了,丢人了…怎么删帖啊😂
    araraloren
        3
    araraloren  
       Aug 15, 2019
    哈哈。。
    szq8014
        4
    szq8014  
       Aug 15, 2019
    哈哈哈哈哈哈,顶上去
    TomStark
        5
    TomStark  
       Aug 15, 2019
    DDDD
    FEDT
        6
    FEDT  
       Aug 15, 2019 via iPhone
    没法删帖😁
    lihongjie0209
        7
    lihongjie0209  
       Aug 15, 2019
    static? super?
    BBCCBB
        8
    BBCCBB  
       Aug 15, 2019
    围观楼主, 看看怎么偷人的
    sevenstone
        9
    sevenstone  
       Aug 15, 2019
    围观楼主, 看看怎么偷人的(
    nnnToTnnn
        10
    nnnToTnnn  
       Aug 15, 2019
    =。= 223
    ipwx
        11
    ipwx  
       Aug 15, 2019
    如果 super.name 也是静态的话可以嘛?
    dovme
        12
    dovme  
       Aug 15, 2019
    厉害了
    vjnjc
        13
    vjnjc  
       Aug 15, 2019
    @ipwx 都静态了,哪来 super 的概念
    vincel
        14
    vincel  
       Aug 15, 2019
    贻笑大方
    cwjokaka
        15
    cwjokaka  
       Aug 15, 2019
    好的,让我标记一下:此贴已删
    bccoder
        16
    bccoder  
       Aug 15, 2019 via Android
    围观
    dobelee
        17
    dobelee  
       Aug 15, 2019 via Android
    让大家一起开心下。
    wly19960911
        18
    wly19960911  
       Aug 15, 2019
    楼上好坏啊, 不过 v2 不能删帖是有点尴尬,你可以让管理员移动到没法看见的节点吧。
    brucewuio
        19
    brucewuio  
       Aug 15, 2019
    haha
    thelou1s
        20
    thelou1s  
       Aug 15, 2019
    you = super.man
    sunziren
        21
    sunziren  
       Aug 15, 2019
    缓缓的打出一个问号,厉害了我的哥。
    hhhsuan
        22
    hhhsuan  
       Aug 15, 2019 via Android
    就是设计的不好,Java 有很多坑
    HolmLoh
        23
    HolmLoh  
       Aug 15, 2019
    哈哈哈哈 没法删帖的
    sunziren
        24
    sunziren  
       Aug 15, 2019
    静态属性属于类,而 super 调用的是对象?
    qianyan
        25
    qianyan  
       Aug 15, 2019 via Android
    滚上去🙈
    ChenStyle
        26
    ChenStyle  
       Aug 15, 2019
    真的挺丢人的……
    raven64
        27
    raven64  
       Aug 15, 2019
    据说连编辑都不行?
    freebird1994
        28
    freebird1994  
       Aug 15, 2019
    2333
    fvckDaybyte2
        29
    fvckDaybyte2  
       Aug 15, 2019 via iPhone
    ……
    NewDraw
        30
    NewDraw  
       Aug 15, 2019 via Android
    把自己钉上耻辱架了,哈哈哈。
    ylls
        31
    ylls  
       Aug 15, 2019
    哈哈哈哈 顶上去
    szq8014
        32
    szq8014  
       Aug 15, 2019
    总结是 javaer 挺和谐的
    ipwx
        33
    ipwx  
       Aug 15, 2019
    @vjnjc 我不是 Java 程序员,但是听说 Java 有 shadow 一个变量的做法,所以问问嘛。

    按照外行来看,子类 shadow 掉一个父类的 static 变量,好像也没啥问题?至于这个赋值,不能看作把父类的初值复制过来一次嘛?
    itechify
        34
    itechify  
    PRO
       Aug 15, 2019 via Android
    哈哈哈,我笑了你们呢
    zhuang0718
        35
    zhuang0718  
       Aug 18, 2019 via iPhone
    学习啦 哈哈哈
    vjnjc
        36
    vjnjc  
       Aug 19, 2019
    @ipwx shadow 没问题,问题是等式的右值取不到。"static String name = super.name;" 因为 super 是父对象的概念,而这里 static 修饰了 statment,就不是在对象内了。
    vjnjc
        37
    vjnjc  
       Aug 19, 2019
    @ipwx #33 忘记说了 super 是关键字,用来在子对象里取父对象属性的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1477 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 16:45 · PVG 00:45 · LAX 09:45 · JFK 12:45
    ♥ Do have faith in what you're doing.