首页 > 试题广场 >

假设 A 类有如下定义,设 a 是 A 类同一个包下的一个实

[单选题]
假设 A 类有如下定义,设 a A 类同一个包下的一个实例,下列语句调用哪个是正确的?()
class A{
    int  i;

    static  String  s;

    void  method1() {   }

    static  void  method2()  {   }

}


  • System.out.println(a.i);
  • a.method1();
  • A.method1();
  • A.method2()
非静态方法只能通过实例对象来调用,不能直接通过类名调用。静态方法(static)才能通过类名直接调用.
发表于 2017-07-24 22:27:45 回复(20)
小学语文毕业了再来出题!只是说a是A类同包下的一个实例,那么有关a的选项全是错的。
编辑于 2018-03-07 21:07:35 回复(6)
 类中变量:除了private权限外,其他权限的变量(没有表示默认default),均可以用“对象.变量名”来调用。对于private变量,即使使用static,也不能用“类.变量名”来调用私有变量。只能通过类中的public get()方法来调用。
  类中方法:除了private权限外,其他权限的方法(没有表示默认default),均可以用“对象.方法名”来调用。private方法可以用java反射机制调用。当然如果用 private修饰方法,该方法只在类的内部调用。其中比较著名的就是单例模式中的私有构造方法。
  static属性:static方法在编译期就已经生成了,其他方法在运行期生成。非私有的static方法可以用“类.方法名”调用。但是私有的static变量和方法都是不可能被调用的,虽然private static这种写法很少见,但仍然存在,且编译器不会报错。题中static  void  method2()  {   }的权限是默认权限,所以可以用“类.方法名”来调用。如果题目中写成private static void method2(){ } ,那么D选项也是错误的。
编辑于 2018-05-05 00:04:29 回复(4)
这个题谁出的呀 C竟然是对的
 类名.实例方法       我就直呼好家伙了 题目明明是要求选正确选项
编辑于 2022-04-29 15:16:39 回复(9)
这道题目有问题,应该是错误的是哪个?

静态方法(static)才能通过类名直接调用。method1前没有static修饰,无法用类名直接调用。
发表于 2022-04-16 20:46:05 回复(1)
这题太不严谨,A的最后用的是中文字符的;而D选项则直接没打分号,这样的答案,你说是对的?
发表于 2019-02-26 16:49:50 回复(4)
静态方法通过类名调用,那么为什么D是错的而C是对的呢?
发表于 2018-10-17 10:40:29 回复(0)

答案选C???无法理解



发表于 2018-10-03 08:53:33 回复(0)
A错 中文分号
B对
C错 不能通过类名调非静态方法
D错 没有分号
发表于 2022-05-11 12:50:55 回复(2)
静态方法,属性才可以通过类名进行调用。而类方法和类属性需要类的实例也就是对象调用
发表于 2017-05-15 20:42:24 回复(2)
这应该是选错误答案的吧
发表于 2022-07-23 14:49:06 回复(0)
题目有问题,应该改为下列语句调用哪个是错误的? 这样才选C,ABD都是正确的调用方式,实例对象调用实例成员没毛病,static通过类名调用,也没问题,但是C选项,通过类名调用实例成员方法,很明显是错的,类加载的时候只会加载static修饰的成员变量和方法,而实例成员方法只能通过实例对象来调用,不能直接用类名调用。 至于分号的问题,应该不算,如果分号也算问题的话,答案就应该改成B了
发表于 2022-05-12 17:35:03 回复(0)
发表于 2022-05-12 11:20:08 回复(0)
到底是选正确的还是错误的啊 看了评论我好懵啊
发表于 2022-04-22 12:13:42 回复(2)
这题题目是不是错了?

发表于 2022-04-21 19:31:59 回复(0)
A.mehod1();不正确吧,怎么能直接调用呢?选D吧 A.mehod2();
发表于 2022-04-15 14:34:19 回复(0)
这题出的有问题
发表于 2020-05-10 14:32:12 回复(0)
非静态方法不能通过类名点直接调用,需要实例化,之后才能调用,静态方法直接可以类名点调用
发表于 2018-09-30 10:13:07 回复(0)
a 中文分号结尾,错
b 对
c 类不能直接调用非静态方法,错
d 没有分号结尾,错
0.0
发表于 2022-07-13 18:14:50 回复(0)
牛客快来改题了!!!
发表于 2022-07-11 09:31:00 回复(0)