Java Что это за наследование?
2347
2
Разбираюсь в явовском коде, яву никогда специально не изучал, но учитывая опыт в Си все вроде понятно. Но вот наткнулся на такое жуткое наследование, объясните, что оно означает?

public class AnyClassA
{
public AnyClassA()
{
}
}

public class AnyClassB
{
public AnyClassB()
{
}
}

public class AnyClassC extends AnyClassA
{
}


Читать спецификацию языка очень долго а на первый взгляд я ее проглядел, таких примеров не нашел. Все поисковики вообще эти знаки опускают и ничего не возможно найти
Дима553
Это Generics, введенные в Java 1.5

В этом примере пытаются определить свой собственный класс с generic. Это не наследование, а скорее параметризация - AnyClassC определяется более привиредливым наследником AnyClassA - он собирается работать только с объектами AnyClassB, и никакими другими.

Почитать можно например здесь:
http://c350.colo.hc.ru/article/java/genericsinjava.xml
Дима553
Читать спецификацию языка очень долго а на первый взгляд я ее проглядел, таких примеров не нашел. Все поисковики вообще эти знаки опускают и ничего не возможно найти
Вообще явой не пользуюсь, но по аналогии c С++ и C# строка

public class AnyClassC extends AnyClassA<AnyClassB>

определяет шаблон AnyClassC, наследующийся от класса AnyClassA, при этом тип параметра шаблона AnyClassB, если я правильно понимаю яву, то на C# это будет выглядеть как:

class AnyClassC<T> : AnyClassA where T : AnyClassB