RomKing, Car3 car; Это переменная с именем car типа Car3. Другими словами, в эту переменную мы можем положить только объект Car3 и производные от него. String mystr - переменная типа String, можем сделать так mysrtr = "My String"; или mystr = new String("My String");
Тоже самое с любой другой переменной, компилятор будет проверять соответствие типов при присвоении и обращении к полям внутри этого типа.
так мы и в инициализации Human объект Car3 не присваиваем переменной car...
Значит она у вас просто болтается в воздухе и равна null. Компилятор не знает, когда и где вы хотите ее присвоить, но знает, что там есть объект типа Car3 с полем color.
Вот на этапе выполнения он попытается взять значение color от переменной car, и выскочит ошибка, что доступ к не инициализированному объекту.
RomKing, А почему он должен ругаться?! У компилятора есть ВСЯ информация для доступа к полям класса Car3 поля car класса Human!
Даже, если это поле было незаполнено, что в рантайме (когда запустите) конечно же даст ошибку выполнения. Но не при компиляции.
0xC0CAC01A, По удобству не очень, печатать тексты на ней не очень. Раньше брал в командировки, сейчас в чулане валяется.
По хорошему, просто настоятельно рекомендую обратить внимание на Apple Magic Keyboard - вот сейчас стою и сравниваю с ноутбучной с Asus ZenBook S - небо и земля, клавиш практически не слышно! Цена, и раскладка только... https://www.apple.com/ru/shop/product/MLA22RU/A/%D...
egorggegor, ну я же написал, что код плохой. При выгрузке модуля куча всего не освобождается, хуки не убираются. Вот ядро враскоряку и встает после выгрузки модуля.
Дописывайте!
А так - все работает! Поздравляю!
Ну и в догонку - лучше воспользоваться netfilter API. Там есть куча зверских библиотек, которые работают в пространстве пользователя!
Наприемр www.netfilter.org/projects/libnetfilter_queue/inde... -передает нужные пакеты в программу.
И не нужно писать модули ядра!
egorggegor, Ну и обычно первая точка модуля (типа main) - module_init(icmp_drop_init);
Вот в этой функции и регистрируется последовательное устройство firewall.
А в функции записи в последовательное устройство как раз и регистрируются сетевые хуки!