首页 > 试题广场 >

假设 A 类有如下定义,设 a 是 A 类的一个实例,下列语

[单选题]

假设 A 类有如下定义,设 a A 类的一个实例,下列语句调用哪个是错误的?( )

class  A{

static  int  i;

String  s;

static  void  method1() {   }

void  method2()  {   }

}

  • System.out.println(a.i);
  • a.method1();
  • A.method1();
  • A.method2()
static修饰的变量为静态成员变量;
static修饰的方法为静态方法;
静态成员变量,静态方法可以直接通过类名或对象名去调用;
因此A,B,C对;
非静态方法,必须通过对象名去调用;因此D不对;
如有不对,请指正,一起学习
发表于 2017-07-22 15:42:47 回复(4)
static修饰的变量为静态变量;
static修饰的方法为静态方法;
静态变量和静态方法均在类加载过程中(即在对象产生前)就赋值或初始化,
所以其不受类实例化的限制,可直接通过类名.方法名/属性名调用。
static实际上也称为类属性(非类的属性),所有类属性都可直接利用类名称直接调用。

编辑于 2019-04-19 08:48:54 回复(0)
非静态方法不能直接调用
发表于 2018-12-03 09:28:14 回复(0)
非静态的方法和变量必须通过实例化后调用
发表于 2017-06-14 13:15:37 回复(0)
不能通过类名调用非静态的方法,因为非静态方法的调用需要实例化对象后才能调用
发表于 2017-06-05 18:54:51 回复(0)
c
发表于 2020-11-26 10:55:47 回复(0)
<p>A</p>
发表于 2020-07-18 22:47:06 回复(0)
纯属记录,static修饰的变量为静态成员变量; static修饰的方法为静态方法; 静态成员变量,静态方法可以直接通过类名或对象名去调用; 因此A,B,C对; 非静态方法,必须通过对象名去调用;因此D不对;
发表于 2019-11-04 15:04:41 回复(0)
考点:静态方法,静态变量和普通变量和普通方法的区别
发表于 2019-09-02 14:48:25 回复(0)
不能通过类名调用非静态的方法,因为非静态方法的调用需要实例化对象后才能调用
发表于 2019-05-30 21:46:59 回复(0)
静态方法可以通过类和对象调用,非静态方法只能通过对象
发表于 2019-04-18 22:13:46 回复(0)
实例方法和类方法
类方法:使用static修饰(静态方法),属于整个类的,不是属于某个实例的,只能处理static域或调用static方法;
实例方法:属于对象的方法,由对象来调用。
发表于 2019-04-05 10:50:49 回复(0)
不能通过类名调用非静态方法
发表于 2019-03-27 21:22:16 回复(0)
静态的方法,变量可以通过类名或者对象名调用,非静态的智能只能通过对象名调用
发表于 2019-03-27 14:50:27 回复(0)
可以在非静态上下文使用静态成员 但不可在静态上下文使用非静态成员
发表于 2019-03-10 20:43:31 回复(0)
A 输出a.i,i是静态的成员变量,当类被加载时,就会给它初始化一个默认值,既可以用类名引用,也可以用对象来引用;A正确
B,C method()是静态的方法,所以他既可以用类名调用,也可以用对象来调用;B,C正确
D method2()是一个普通方法,非静态方法,所以不能用类名来调用,应该用对象来调用;D错
发表于 2019-01-25 20:29:35 回复(0)
静态方法或者成员变量直接可被类名表示
发表于 2018-12-24 06:39:58 回复(0)
a是类A的一个实例,怎么可以调用静态方法,我觉得题目严重有问题,请各位大佬指点?
发表于 2018-11-20 21:34:51 回复(0)

静态成员是属于整个类的,在类的加载时被加载,不属于某个对象。因此通过某个对象不能调用整个类的成员。  有问题欢迎大佬指点


发表于 2018-08-23 11:20:51 回复(0)
非静态方法不能直接调用
发表于 2018-07-22 00:21:24 回复(0)