2016 - 2024

感恩一路有你

java构造方法与静态方法顺序 java声明为static的方法不能被重载?

浏览量:1148 时间:2023-05-12 19:10:58 作者:采采

java声明为static的方法不能被重载?

静态方法属于这个类,而不属于对象。没有说继承不继承。覆盖和重写也是对象的方法,不是静态方法。你问的第二个问题叫做 "隐藏 "。 "方法被声明为静态的,但是静态方法不能被覆盖;它们只能被隐藏起来。为了避免这种混乱,永远不要隐藏静态方法。即使在子类中重用超类中静态方法的名字,也不会给你带来什么新的东西,反而会失去很多东西。 "(——《java解惑》)

java中非静态方法能调用静态方法吗?

首先直接回答你,静态方法可以在java非静态方法中调用。

这个结论可以推广到,在非静态方法中可以访问静态方法、静态成员变量和非静态成员,而在静态方法中只能访问静态成员,即静态方法和静态成员变量。

在java的基本概念中,类和对象是两个完全不同但又相互联系的概念。类相当于模板,是抽象的,对象相当于实例,是具体的,所以两者之间的联系是类实例化后变成了对象。静态成员本身属于类,也称为类成员,而实例成员属于对象。在java机制中,加载一个类的时候,实际上加载的是它的模板,也就是这个类文件,此时只有它的静态成员。只有通过n

在java中为什么不全部使用static方法?

如果使用所有静态方法,那么静态方法只能访问静态成员。然后整个类只有静态成员和静态方法,也就是说对象消失了。不会有继承和多态,这将颠覆整个面向对象编程的世界。

静态成员变量和静态修改的静态成员方法存在于数据共享区,即数据内存中,而非静态的修改对象构建在堆内存中,这样就不存在面向对象的数据封装,从而打破了面向对象封装、继承和多态这三个核心。

这意味着你已经从面向对象编程退化到面向过程编程了。

这样,你扭曲的物体可以 不可重复使用。

所以你要想好什么时候用static修改成员,什么时候用static修改成员,才不会脱裤子放屁。。当属于同一个类的所有对象都有共享数据时,有必要用static修饰存储这些共享数据的成员。当没有对函数内部非静态成员的访问时,需要访问对象特有的数据,那么函数就定义为静态,然后使用静态。

对了,spring在Java中诞生后,配置类可以解决数据共享的问题,静态方法就再也没有用过了。好像没有忘记这个关键词解决不了的问题。

静态 成员 对象 静态方法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。