要说汉朝为什么没有公爵,首先要说公爵的来源。自中国先秦时代开始,已有君主赐封公爵,是周朝封建五等爵的第一等。《礼记·王制》:“王者之制禄爵,公侯伯子男,凡五等”。西周时的公国有四:宋国、虢国、州国、虞国。

周朝的公爵只封给前朝的后裔,而周公之国鲁国只是侯爵国(周公称公,并不是爵位是公爵,而是因为他的官职是三公之一。《春秋公羊传》:“天子三公者何?天子之相也。天子之相则何以三?自陕而东者,周公主之;自陕而西者,召公主之;一相处乎内。”两相印证,三公是秦及秦以前天子之下的最高管理的称呼,辅佐天子。)之所以是这样是因为按照周朝的礼法,前朝后裔宋公、虢公、虞公等像周天子行宾礼,而齐侯、徐侯、黄侯等行臣礼。在实际上周朝与宋国等仍是君臣关系,正所谓“普天之下莫非王土,率土之滨莫非王臣”。按照周朝的封地制度“公侯方百里,伯七十里,子男五十里”,从封地来说其实周朝是延续夏商的三等爵位,不过将第一级在封给宋国、虢国等时予以了特殊的“宾礼”地位明显优于其它侯国。所以在本质上周朝公爵和侯爵可以视为一级,只不过公爵的地位和待遇优越一些,正如在现代社会中相同等级的官员中有排名前后的划分。

秦自商鞅变法后建立二十等爵军功制。汉延用秦朝二十等爵,并增设了王爵。自从刘邦将异姓王消灭后,并与群臣立下白马之盟。《史记汉兴以来诸侯王年表》对白马之盟的记载是:“非刘氏而王者,若无功上所不置而侯者,天下共诛之。”所以王爵只限于刘姓(吕后、王莽、曹操这三个时期是个例外,大家都很了解,不详细说明),侯爵的赐封也是极为严谨,其他爵位与秦朝一致,除了为避汉武帝刘彻讳将彻侯改为列侯。

西汉末年,王莽一方面不能破坏汉高祖“非刘不王”的祖制,另一方面又要显示出自己高于所有汉臣的特殊地位,便重新把“公爵”翻了出来,晋封为“安汉公”。后来王莽篡汉,另立新朝。所以“封公爵”在汉朝意味着不做汉臣,脱离汉制,另立法统。

后来曹操欲为魏公,荀彧就极力反对,认为曹操有不臣之心,曹操也是等到荀彧死后第二年,才加的魏公。

所以公爵有它的特殊性,只封给前朝的后裔。作为特殊群体的特殊爵位,人臣爵位只到列侯。

当然,时代在变化,规矩一被打破就很容易变成惯例。以后魏晋置五等爵,有郡公、县公,隋唐宋有国公、开国郡公、开国县公等,明朝有国公爵,清朝有公爵。随着皇帝加强中央集权,爵位也不再是最初的爵位,以前可以开国的公侯变得也只是享受封地食邑,没有开国之礼,城池百姓治理归属当地太守县令,属中央指派,也就不掌握封地军政,这时候的爵位和官职已经没有牵连,爵位尊贵,官职威重。说白了就是爵位相比秦二十等爵尊贵一些,权力还是来自于官职或者派遣。