<span style="font-size:18px;">package com.hechao;
/**
* 非静态的方法被重写,根据对象调用
* 静态的方法被隐藏,根据引用调用
* @author **
*
*/
class A {
static String greet(){
return "A.greet";
}
public String getName(){
return "A.name";
}
}
class B extends A{
public static String greet(){
return "B.greet";
}
public String getName(){
return "B.name";
}
}
public class Test01 {
public static void main(String[] args) {
A a = new B();
//greet()是静态方法,属于对应的类,不属于任何对象,a属于A类,则调用A的greet();
//getName()是非静态方法,属于对应得对象,不属于类,B重写了A的getName(),a引用
//了B对象,则调用B的getName();
System.out.println(A.greet() + a.getName());
}
}
</span>2014.11.26静态与非静态
最新推荐文章于 2024-05-22 21:39:56 发布
本文详细解析Java中静态方法与非静态方法的调用机制,通过实例演示静态方法和非静态方法如何根据对象或引用进行调用。
173万+

被折叠的 条评论
为什么被折叠?



