java的静态方法多态和匿名对象

静态方法:

看如下代码

父类:

1 public class FU {
2     public static void show(){
3         System.out.println("this is fu!");
4     }
5 }

子类:

1 public class ZI  extends  FU{
2     public  static void  show(){
3         System.out.println("this is ZI!");
4     }
5     public int   show(int a){
6         return 2;
7     }
8 }

调用类:

 1 public class Test {
 2     public static void  main(String ...args){
 3         FU  fu=new ZI();
 4         fu.show();
 5 
 6         ZI zi=new ZI();
 7         int a=zi.show(2);
 8         zi.show();
 9         System.out.println(a);
10     }
11 }

输出:

静态方法、字段属于类的,调用的时候通过类名.方法  类名.静态字段进行调用,但是也可以通过对象调用但是出现警告,

建议用类进行调用。

多态属于对象,而不是类。静态方法属于类的,所以没有多态的属性,也就是说在通过对象调用的时候,会调用父类的静态方法!而不是子类的方法,即使是重写。多态属于对象的!

匿名对象:

语法: new  类()

特点:

1、匿名对象只能调用一次,使用之后,再次调用使用的是另一个对象也就是说另一个内存地址。

1 public class FU {
2     public  void show(){
3         System.out.println("this is fu!");
4     }
5 }
1 public class Test {
2     public static void  main(String ...args){
3         new FU().show();
4     }
5 }

再次调用是另一个初始化另一个匿名对象!

原文地址:https://www.cnblogs.com/evilliu/p/7718214.html