Java 根本知识

藏宝库编辑 2024-9-28 15:07:51 103 0 来自 中国
Q:静态方法为什么不能调用非静态成员?
A:

  • 静态方法是属于类的,在类加载的时间就会分配内存,可以通过类名直接访问。而非静态成员属于实例对象,只有在对象实例化后才存在,须要通过类的实例对象去访问。
  • 在类的非静态成员不存在的时间,静态成员就已经存在了,此时调用在内存中还不存在的非静态成员,属于非法操纵。
Q:静态方法和实例方法的区别
A:
(起首明白类和对象的关系。对象是类new出来的,类是创建对象的。对象是类的实例,以是实例方法须要实例(对象)来调用)

  • 调用方式:静态方法属于“类”自己,以是调用静态方法可以直接利用类名.方法名,也可以利用对象.方法名(不保举),而调用实例方法就要利用对象.方法名来调用
  • 访问类成员是否有限定:
    静态方法在访问本类的成员时,只答应访问静态成员(静态成员变量和静态方法),不答应访问实例成员,而实例方法不存在这个限定
Tips:重写:如果父类方法访问修饰符为private/final/static,则子类不能重写该方法。
Tips:可变长参数:
从Java5开始,Java支持界说可变长参数,即答应在调用方法时传入不定长度的参数。别的,可变长参数只能作为函数的末了一个参数,但是前面可以有也可以没有任何其他参数。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-22 04:23, Processed in 0.122262 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表