中易网

static 修饰的方法可以复写吗?

答案:4  悬赏:60  
解决时间 2021-04-27 22:07
  • 提问者网友:单纯说谎家
  • 2021-04-27 18:32
static 修饰的方法可以复写吗?
最佳答案
  • 二级知识专家网友:寂寞的炫耀
  • 2021-04-27 19:02
不能复写,如下验证:
1,public class TT {

public static void getName(){
System.out.println("TT");
}
public static void main(String[] args) {
TT tt = new T();
tt.getName();

}

}

class T extends TT{

public static void getName(){

System.out.println("T");
}

}如果打印的是T则说明能复写。但实际上打印的是TT,说明不能复写。
方法2,在子类的public static void getName()中
写上super.getName();看是不是编译不通过。通过说明可复写。
方法3,eclipse中可以自动生成复写方法,在子类中如果可以就说明可以复写,如果不能自动生成复写方法,说明不能复写。
我的结论是不能复写。
你自己也试着验证看看吧。
全部回答
  • 1楼网友:而你却相形见绌
  • 2021-04-27 21:19
首先,static 修饰的方法可以去复写,但不会覆盖父类的方法。 重写:只有继承了父类的,才可以。 它具有以下特点: 1.参数列表必须与被重写的方法参数列表一致。 2.返回类型必须与方法中的返回类型一致。 3.访问级别的 限制不可以比父类中的强。(可以比他弱) 重载: 在同一一个类中,参数与返回的只不同,方法名相同。 静态的: 由于静态的在内存空间只有一份,所有不可以被覆盖. 子类定义和父类的静态,其实是在子类中隐藏父类的静态方法.. 子类隐藏父类的静态方法和子类覆盖父类实例方法还是有区别的.区别在:运行时..JAVA 虚拟机把静态方法和所属的类绑定,而把实例方法和所属的实例绑定... 举个例子让你更明白; ====== class Father{ void method(){ System.out.println("method of father"); } static void staticMethod(){ System.out.println("static method of father"); } } public class Son extends Father{ void method(){ System.out.println("method of son"); } static void staticMethod(){ System.out.println("static method of son"); } public static void main(String args[]){ Father son1 = new Son();//声明为Father类,son1静态方法和Father类绑 定 son1.method(); son1.staticMethod(); Son son2 = new Son(); son2.method(); son2.staticMethod(); } } ============ method of son static method of father method of son static method of son
  • 2楼网友:陪我到地狱流浪
  • 2021-04-27 20:30
可以,staitc表示静态的,是在别的类调用后不能直接调用方法的意思。 final修饰的方法不能复写
  • 3楼网友:错过的是遗憾
  • 2021-04-27 20:08
首先,static 修饰的方法可以去复写,但不会覆盖父类的方法。 重写:只有继承了父类的,才可以。 它具有以下特点: 1.参数列表必须与被重写的方法参数列表一致。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息