本来は食肉の脂身や内臓などを鍋の中で加熱し、油脂を取り出した後の副産物である。しかし、現在加工食品として販売されている物はこれとは違い、牛の小腸や豚の胃、鶏の皮などを低温の油で揚げて水分を飛ばした物が一般的である。（大阪の油かす、広島のせんじがら等）スルメのように硬く噛み応えがあるため、乾燥食品と誤解する人もいる。
王宝興（王慧龍の子）の子として生まれた。長社侯の爵位を嗣いだ。485年（太和9年）、典寺令となった。492年（太和16年）、侯の爵位から伯に降格された。長女を孝文帝の後宮に入内させて嬪とし、前軍将軍・并州大中正に任じられた。正始年間、光州刺史として出向した。収賄の嫌疑をかけられて、御史中尉の王顕による弾劾を受けたが、冤罪を晴らすことができた。神亀年間、左将軍・兗州刺史に任じられた。兗州から洛陽に帰ると、数年のあいだくすぶっていた。住所は司空の劉騰の邸宅の西にあり、ときに劉騰が朝野で権勢を伸ばしていたが、王瓊は伺候しようとしなかった。劉騰が邸宅を拡張しようと、隣家を買い取ったが、ひとり王瓊だけが応じなかった。王瓊は娘を盧道亮にとつがせたが、娘は夫の家に入ることを承知しなかった。娘が死去すると、王瓊は慟哭してやまず、娘の生前の希望に沿って別所に葬らせ、塚穴を塞がず、墓の構内で泣くのを常とした。当時の人は王瓊の行動を怪しんで、醜行を疑った。王瓊は耳が聞こえなくなり、奇行が多く知られて、他者の嘲笑を受けるようになった。527年（孝昌3年）、鎮東将軍・金紫光禄大夫・中書令に任じられた。まもなく死去した。享年は74。征北将軍・中書監・并州刺史の位を追贈された。
本節では、Javaにおけるクラス変数の例を記す。Javaにおいては、static修飾子を使うことでクラス変数を宣言できる。下記の例において、2行目で宣言されているfooはクラス変数であり、3行目で宣言されているbarはインスタンス変数である。冒頭でも説明されているように、クラス変数は同一クラスと派生クラスで共有される。ただし、クラス変数のアクセスレベルがprivateの場合、あるいはアクセスレベルがパッケージプライベート（デフォルト）で、派生クラスがパッケージ外にある場合は、派生クラスから参照することはできない。class Hoge {  static int foo; // クラス変数  int bar; // インスタンス変数}このHogeクラスを実際に使用する例:public class Main {  public static void main(String[] args) {    Hoge.foo = 100; // Hogeクラスのクラス変数に100を代入    final Hoge hoge = new Hoge(); // インスタンスを生成    hoge.bar = 20; // hogeインスタンスのインスタンス変数barに20を代入    System.out.println("Hoge.foo = " + Hoge.foo); // fooを表示    System.out.println("hoge.bar = " + hoge.bar); // barを表示    // hogeインスタンスでクラス変数fooにアクセスすることもできる (ただし、推奨されない文法)。    System.out.println("hoge.foo = " + hoge.foo);    hoge.foo = 700; // クラス変数fooに700を代入    hoge.bar = 800; // hogeインスタンスのインスタンス変数barに800を代入    System.out.println("Hoge.foo = " + Hoge.foo);    System.out.println("hoge.foo = " + hoge.foo);    System.out.println("hoge.bar = " + hoge.bar);    final Hoge another = new Hoge(); // インスタンスをもう一つ生成    another.foo = 777; // クラス変数fooに777を代入    another.bar = 888; // anotherインスタンスのインスタンス変数barに888を代入    System.out.println("another.foo = " + another.foo);    System.out.println("another.bar = " + another.bar);    System.out.println("Hoge.foo = " + Hoge.foo);    System.out.println("hoge.foo = " + hoge.foo);    System.out.println("hoge.bar = " + hoge.bar);  }}実行結果Hoge.foo = 100Hoge.bar = 20hoge.foo = 100Hoge.foo = 700hoge.foo = 700hoge.bar = 800another.foo = 777another.bar = 888Hoge.foo = 777hoge.foo = 777hoge.bar = 800この例ではインスタンス変数との違いを示すためにインスタンス変数barを用意した。クラス変数Hoge.fooとhoge.fooとanother.fooはすべて同一のものであるためどれかに値を代入するとどれを参照しても代入された値となる。この例ではまずHoge.fooに100を代入した。当然100を出力する。hoge.fooはHoge.fooとクラス変数を参照しているため100を出力する。次にhoge.fooに700を代入する。Hoge.fooもhoge.fooもどちらも700を出力する。次に新たにインスタンスanotherを生成する。another.fooに777を代入しanother.barには888を代入する。このとき、当然another.fooは777、another.barは888を出力する。ただし、Hoge.foo、hoge.fooの値は、Hogeクラスで共有されているクラス変数であるためどちらも777になっている。hoge.barは異なるインスタンスの変数であるため800のままである。