[personal profile] a7sharp9
Я, может быть, рожден с вывихом в голове, но почему все же статические методы не могут быть виртуальными? В основном в ситуации, когда имеются классы A и B, дети C, и хочется позвать A.method () или B.method (), при том, что не-абстрактный method () определен в родителе (просто чтобы все имплементоры его имели), а this им не нужен. Стандартные способы (писать каждый раз new A ().method () или заводить в А singleton) смотрятся, как из-пушек-по-воробьямность, потому что почем зря определяют контекст.

Date: 2005-11-15 05:48 pm (UTC)
From: [identity profile] http://users.livejournal.com/heid_/
Почему-то представляется, как родительский интерфейс доводит детей С до класса А и сдает с рук на руки методу В, на прощание погладив по головке...
Вот так бывает, когда ничего не понимаешь по теме.

Date: 2005-11-15 06:04 pm (UTC)
From: [identity profile] http://users.livejournal.com/_leroy_/
Коллега, по-моему, это не из-пушек-поворобьямность, а классический измухослонизм. :-)

Date: 2005-12-05 10:26 pm (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Не понял:
public class A {
    public static void m() {
	System.out.println("A");
    }
}
public class B extends A {
    
}
public class Test {

    public final static void main(String[] args) {
        B.m();
    }

}

Усё работает :-)

Date: 2005-12-06 01:54 am (UTC)
From: [identity profile] a7sharp9.livejournal.com
Да нет же. Чтобы в А своя, а в B своя.

Date: 2005-12-06 01:56 am (UTC)
From: [identity profile] a7sharp9.livejournal.com
В твоём примере уже нельзя написать в B ещё одну public static void m ().

Date: 2005-12-06 03:43 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Вот так?
-bash-3.00$ cat A.java
public class A {
    public static void m() {
        System.out.println("A");
    }
}
-bash-3.00$ cat B.java
public class B extends A {
    public static void m() {
        System.out.println("B");
    }
}
-bash-3.00$ cat Test.java
public class Test {

    public final static void main(String[] args) {
        B.m();
        A.m();
    }

}
-bash-3.00$ javac Test.java
-bash-3.00$ java Test
B
A
-bash-3.00$

Date: 2005-12-06 03:54 am (UTC)
From: [identity profile] a7sharp9.livejournal.com
Ага, в общем и целом. Это пятая Java, или я просто что-то не так делал?

Date: 2005-12-06 04:27 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Это пятая Java - да вроде нет, насколько я знаю. Но статики - они такие, странные. У них много чего не как у людей (например, их можно определять в интерфейсах), поэтому уже кажется, что такого делать тоже нельзя.

Date: 2005-12-06 04:31 am (UTC)
From: [identity profile] a7sharp9.livejournal.com
Ну да, я легко себе представляю и как можно в виртуальной таблице это сделать правильно, и как неправильно.

Вы там не вымерзли?

Date: 2005-12-06 04:37 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Вы там не вымерзли? - ну, в целом нет. Наш сын категорически отказывается переселяться из подвала. Заклеила там окно пленкой, стало теплее. Зато он все еще водит машину с подбитой фарой и погнутым бампером, и теперь ему уже не запретить - холод собачий, так что машина необходима.

Он, кстати, привет тебе передает.

Date: 2005-12-06 04:41 am (UTC)
From: [identity profile] a7sharp9.livejournal.com
Его туда же. Написал бы, что ли, как-нибудь. У него LJ нет ещё?

Это его собственная, или общая? А кто её побил и подгнул?

Date: 2005-12-06 04:46 am (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
У него LJ нет ещё? - нет пока. Спрашивает, какой у тебя e-mail.
Это его собственная, или общая? - была общая, теперь, видимо, будет его.
А кто её побил и подгнул? - он. Была у нас такая эпопея, ровно через месяц после получения прав. На этой неделе, наконец, починят.

Date: 2005-12-06 04:49 am (UTC)
From: [identity profile] a7sharp9.livejournal.com
Один из - у меня в userinfo виден.

Ничего, главное, чтобы все целы. А железо переживёт.

Date: 2005-12-06 02:42 pm (UTC)
From: [identity profile] http://users.livejournal.com/_rowan_tree_/
Ничего, главное, чтобы все целы. - это да. Ему повезло там на самом деле. Могло бы быть хуже. И напугался он, кажется, здорово. Теперь обещает всегда пристегиваться :-)

December 2018

S M T W T F S
      1
2345678
9101112131415
161718192021 22
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 31st, 2026 08:17 pm
Powered by Dreamwidth Studios