static修饰的方法(java中static怎么用)

本文目录
java中static怎么用
static 属于全局,也就是类的属性 和方法,换句话说 一个类,不管有多少个实例,却只有一个全局变量
class B {static int a=0;}
B b1=new B();..................;B bn=new B();
b1~bn 都是类B的实例,每个实例都共享 变量a,a是全局变量,属于类B的属性,每个实例都能引用变量a,
加入执行b1.a=1;后 那么b2.a,b3.a,b4.a......bn.a 都等于1了,
static 方法也是类似的
需要注意的是 静态属性和方法属于类方法,加载类后,就已经存在静态属性和方法,实例是需要用new构造出来后 才会有引用
根据先后顺序,就有以下两条规则
1、非静态的方法可以调用静态的或者非静态的属性和方法;
2、静态的方法不可以调用非静态的属性和方法,因为非静态的还不一定存在,只能先构造出来后,再通过实例引用
例如 在main方法中 可以直接调用static 的方法,调用非static方法 需要先构造出类的实例,通过实例才能调用方法
static 修饰的方法可以复写吗
首先,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

更多文章:
turtles歌曲(哪位大神有turtles(乌龟组合)的<谢谢>的歌词中文翻译 感激不尽)
2026年10月11日 10:00
金山铁路22号线(请问现在轨道交通22号线金山铁路是个什么情况据说9月28日就开通了啊~~~)
2026年10月11日 09:10
repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026年10月11日 09:00
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40





