问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

java静态方法能被继承吗?原因?

发布网友 发布时间:2022-04-22 23:51

我来回答

5个回答

热心网友 时间:2023-07-10 11:49

  一,java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏.
  二,原因:
  1, 静态方法和属性是属于类的,调用的时候直接通过类名;方法名完成对,不需要继承机制即可以调用;
  (1)如果子类里面定义了静态方法和属性,则这时候父类的静态方法或属性称之为"隐藏";
  (2)如果你想要调用父类的静态方法和属性,直接通过父类名.方法或变量名完成,至于是否继承,子类是有继承静态方法和属性,但是跟实例方法和属性不太一样,存在"隐藏"的这种情况。;
  2, 多态之所以能够实现依赖于继承、接口和重写、重载(继承和重写最为关键),有了继承和重写就可以实现父类的引用指向不同子类的对象;
  3,重写的功能是:"重写"后子类的优先级要高于父类的优先级,但是“隐藏”是没有这个优先级之分的。
  4, 静态属性、静态方法和非静态的属性都可以被继承和隐藏而不能被重写,因此不能实现多态,不能实现父类的引用可以指向不同子类的对象。
  5,非静态方法可以被继承和重写,因此可以实现多态。

热心网友 时间:2023-07-10 11:50

(1)一个Java类静态方法当然可以由子类继承。比如

class Base
{
public static void someMethod()
{
System.out.println("in static method");
}
}

class Derived extends Base
{}

class Client
{
public static void main(String[] args)
{
Derived.someMethod();

Derived d = new Derived();
d.someMethod();
}
}

运行Client会打印出两行“in static method”,这说明静态方法确实被子类所继承。

“静态方法不能被子类override,因此不支持多态性。”一个Java方法不能被子类override,也不支持多态性,并不奇怪。构造方法就是如此。构造方法是隐含的静态方法.
举一个例子:
class Base
{
public static void someMethod()
{
System.out.println("in static method of Base");
}

}

class Derived extends Base
{
public static void someMethod()
{
System.out.println("in static method of Derived");
}

}

class Client
{
public static void main(String[] args)
{
Derived.someMethod();

Derived d = new Derived();
d.someMethod();

Base o = new Derived();
o.someMethod();

}

}

执行时会打印出
in static method of Derived

in static method of Derived

in static method of Base

显然,到底执行哪一个静态方法,是由变量的明显类型决定的,而不是由对象的真实类型决定。这不是多态性的。

热心网友 时间:2023-07-10 11:50

静态方法不能被继承,只能被调用

热心网友 时间:2023-07-10 11:51

当然能倍继承的了,除了final,以及超出使用范围的方法如:包内权限的方法在包外不能继承。其他的都可以。

热心网友 时间:2023-07-10 11:51

应该是不能吧 你这问题很刁钻啊

方法声明完为static的了

直接就可以通过类名调用了

我是没听过 也没见过 子类继承父类 然后

用子类的类名调用父类的static方法。
java静态方法能被继承吗?原因?

一,java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏.二,原因:1, 静态方法和属性是属于类的,调用的时候直接通过类名;方法名完成对,不需要继承机制即可以调用;(1)如果子类里面定义了静态方法和属性,则这时候父类的静态方法或属性称之为"隐藏";(2)如果你想要调用...

java的静态方法能否被重写或重载

1.在Java中静态方法可以被继承,但是不能被覆盖,即不能重写。2.如果子类中也含有一个返回类型、方法名、参数列表均与之相同的静态方法,那么该子类实际上只是将父类中的该同名方法进行了隐藏,而非重写。3.父类引用指向子类对象时,只会调用父类的静态方法。所以,它们的行为也并不具有多态性。

java,静态方法为什么不能继承?

可以重写静态方法,但重写后的静态方法不支持多态。本质是因为对静态方法在运行期只查找显式声明的类的内存,这就意味着不可能是多态。虚拟机的运行方式就是这样,就是语法规定而已,没什么好解释的,至于什么公共不公共简直是胡扯,说了没说一样 ...

Java static方法会被子类继承吗

父类中的static方法会被子类继承,而且与可以通过父类名.方法名直接调用static方法一样,可以通过子类名.方法名直接调用继承的static方法 示例代码如下:

java中,静态成员函数和静态成员变量可以被继承么?

可以的,做个实验就可以证明了://Test.java class A{ static int i=9;static void print(){System.out.println(i);} } class B extends A{} public class Test{ public static void main(String[] args){ B.print();//这里B的print()就是A里面的 System.out.println(B.i);//这里B....

java中子类可以继承父类的静态变量和静态方法吗

当子类没有重新定义静态属性则子类的静态属性与父类的静态属性为同一个变量 当子类重新定义了父类静态属性则子类的静态属性与父类的静态属性是两个不同的变量 静态方法调用的是定义这个静态方法的类的静态属性。

为什么java里面,静态类也可以有构造函数?

静态类没有说不能被继承,也没有说不能被实例化,是不需要实例化。所谓静态就是程序一启动这个被加静态属性的类,方法,变量都已经被第一时间加载到内存中了!所以你直接调用就可以了!还有别说是静态类的静态方法不用调用,就是普通类的静态方法也是不用实例化的!这样效率更高!

Java的接口interface中为什么不能定义静态方法static?有什么替代手段实 ...

接口不可以实现方法,只可以定义方法,所以不能使用静态方法(因为静态方法必须实现)。要实现静态方法的继承,可以使用抽象类,抽象类中实现静态的方法后,其他类继承。

静态方法能被重写吗

java吗,不可以被重写的,一个指向子类对象的父类引用变量来调用父子同名的静态方法时,只会调用父类的静态方法。这是因为静态方法只能被继承,不能被重写,如果子类有和父类相同的静态方法,那么父类的静态方法将会被隐藏,对于子类不可见,也就是说,子类和父类中相同的静态方法是没有关系的方法,...

java 静态方法可以重载吗重写呢

可以被重载,不可以被重写。静态方法是类在加载时就被加载到内存中的方法,在整个运行过程中保持不变,因而不能重写。但非静态方法是在对象实例化时才单独申请内存空间,为每一个实例分配独立的运行内存,因而可以重写。所谓静态就是在运行时,虚拟机已经认定此方法属于哪个类。 专业术语有严格的含义,...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
肾衰竭能吃什么菜? 慢性肾衰竭吃什么食物?吃对食物肾脏健康 我是美团商家,在验证美团券时,订单号和美团券密码都可以使用吗 ars-al00是华为什么型号 - 知百科 诛仙2 117怎么升级 诛仙2每天哪些日常任务是每天必须做的 诛仙2 天书奇 详细点的 我的女儿2005年十月十四(农历)晚上11点9分生的,爸爸名字张志雄,妈妈名字... 秒和毫秒的换算公式是什么? 区块链的七大赛道是什么(区块链有哪些赛道) java中的静态方法和非静态方法有什么区别? Java编程中void f()为什么错了? Java可以重写静态方法吗 java静态方法可以被继承,重写吗 帮忙把QQ名字弄好看点,繁体的,代符号-----"等待"和"异想天开"俩个. 超级螃蟹第十九关海岛奇兵 1297530205怎么会是俞灏明的QQ呢? 海岛奇兵超级螃蟹降临宣传视频 俞灏明的QQ好是什么? 海岛奇兵这个二阶段的超级螃蟹怎么打啊?看的眼花缭乱的。。。 谁发几个QQ个性昵称? 海岛奇兵九本打超级螃蟹第九阶段怎么打? 谁知道俞灏明的qq号? 海岛奇兵超级螃蟹传奇奖杯如何获得? 俞灏明的QQ 海岛奇兵超级螃蟹怎么才能无限次数打? 谁知道俞灏明的QQ啊? 海岛奇兵超级螃蟹阶段15攻略 超级螃蟹15怎么打 求俞灏明的官方的,能加上好友的QQ 海岛奇兵2018.07.28螃蟹30-40攻略 电脑怎么给苹果手机换音乐铃声? java的 方法的重写? java问题,子类能不能重写父类的静态方法?? 如何用电脑给苹果手机设置铃声? java中静态方法能在子类中被重新定义是什么意思?被重新定义了之后是不是就成了两个不同的方法了? JAVA中 子类能 重写父类的 静态方法吗? 为什么?? 请各位大虾指点迷津!! java中的静态方法重载和普通方法重载有区别吗?调用的时候是一样的吗? 怎样用苹果电脑设置苹果手机的铃声? java中static是什么意思?能不能通俗的讲下,让我这个菜鸟好理解一点 Java static方法会被子类继承吗 java 重写方法 java 声明为static的方法不能被重载,但是能够被再次声明??? 苹果11来电音量怎么调大? 苹果手机来电声音怎么调大? 苹果手机来电铃声怎么调大音量? 苹果11手机铃声怎么调大 苹果11铃声大小怎么调节 苹果11怎么调节铃声大小 苹果11怎么调节来电铃声大小 苹果11铃声怎么设置大声
  • 焦点

最新推荐

猜你喜欢

热门推荐