????????????????????
????javap -c Test
????????: ?????????Test????CoreJava.day_2.Test
????Compiled from "Test.java"
????public class CoreJava.day_2.Test {
????public CoreJava.day_2.Test();
????Code:
????0: aload_0
????1: invokespecial #1                  // Method java/lang/Object."<init>":()V
????4: return
????public static void main(java.lang.String[]);
????Code:
????0: new           #2                  // class java/lang/String
????3: dup
????4: invokespecial #3                  // Method java/lang/String."<init>":()V
????7: astore_1
????8: new           #4                  // class CoreJava/day_2/Test$SecLee
????11: dup
????12: invokespecial #5                  // Method CoreJava/day_2/Test$SecLee."<init>":()V
????15: astore_2
????16: aload_2
????17: aload_1
????18: invokevirtual #6                  // Method CoreJava/day_2/Test$Lee.say:(Ljava/lang/String;)V
????21: return
????}
?????????????????18: invokevirtual #6 // Method CoreJava/day_2/Test Lee.say:(Ljava/lang/String;)V??????TestLee.say????Test$SecLee.say???????????????????????????????????????????????????????????????
?????????д????????????????????????
???????????????????Lee???д???say????????????????????????SecLee????Lee??????д???????????????????????????????????????????????
????????????????????????????????ò????String?????say???????????????????ж????????????????????say????
????public class Test {
????public static void main(String[] args) {
????String str = new String();
????Lee lee = new SecLee();
????lee.say(str);
????}
????static class Lee {
????public void say(Object obj) {
????System.out.println("????Object");
????}
????public void say(String str) {
????System.out.println("????String");
????}
????}
????static class SecLee extends Lee {
????@Override
????public void say(Object obj) {
????System.out.println("?????????Object");
????}
????@Override
????public void say(String str) {
????System.out.println("?????????String");
????}
????}
????}
???????:
????$ java Test
?????????????String
???????????????У?????????
?????????????????????????????
????????Щ?????????????????????????????
????public static void main(String[] args) {
????String str = new String();
????final Lee lee = new SecLee();
????lee.say(str);
????}
?????????????????lee????SecLee???????lee?????final???????????say??????????????????????????????????????????????SecLee??say??????
?????????
????????????????????????????????汾?????????????????????????????????????????????????????Щ??????????????????????????????????e????е???????????final??private????static???????Ρ??????????е?????????????????????????????ɡ?