首页 > 试题广场 >

下列说法错误的有( )

[不定项选择题]
下列说法错误的有( )
  • 在类方法中可用this来调用本类的类方法
  • 在类方法中调用本类的类方法时可直接调用
  • 在类方法中只能调用本类中的类方法
  • 在类方法中绝对不能调用实例方法
推荐
A:类方法是指类中被static修饰的方法,无this指针。
C:类方法是可以调用其他类的static方法的。
D:可以在类方法中生成实例对象再调用实例方法。(这个我也打错了,想想应该是这个意思)
编辑于 2015-07-16 21:27:14 回复(31)
首先:
成员方法又称为实例方法
静态方法又称为类方法
其次:
a,静态方法中没有this指针
c,可以通过类名作用域的方式调用Class::fun();
d,太绝对化了,在类中申请一个类对象或者参数传递一个对象或者指针都可以调用;

发表于 2015-08-21 09:34:30 回复(10)
可以将this理解为对象,而类方法属于类,不属于对象,所以类方法前不能加this指针。
发表于 2015-09-05 10:33:15 回复(5)
静态方法(也就是 类方法,静态成员函数),由static修饰,与类对象无关。
this是对象,及有实例,故A错;
静态成员函数可以直接引用该类的静态成员变量和函数,但不允许直接引用非静态成员变量(若要引用,则需 通过传递参数的方式得到对象名)。故B对;
可以通过继承,来调用父类的 类方法。故C错;
可以生成实例,然后通过this来调用实例方法,故D对。

备注:非静态成员函数(实例方法)暗含this指针
           静态成员函数(类方法)缺少this指针
发表于 2015-09-05 17:28:59 回复(0)
当你由纠结的时候,把类方法转换成一个特例public static void main(String[] args){},就清楚了。
发表于 2018-06-12 10:36:38 回复(2)
用传引用的方式可以使类方法调用实例对象的方法
public class Interf {

public b bb=new b();

class b{
void a(){

}
}
public static void test(b bb){
bb.a();
}
}

编辑于 2017-04-03 15:01:39 回复(0)
类方法即静态方法😭
发表于 2019-02-22 15:51:28 回复(0)
public class A{
    
    public static void main(){
        A a = new A();
        a.test();
    }
    public void test(){
        //do something....
    }
}

发表于 2017-03-07 20:55:37 回复(0)

类方法:使用static修饰,属于整个类的,不是属于某个实例的,只能处理static域或调用static方法; 
实例方法:属于对象的方法,由对象来调用。 一个类中的方法可以互相调用。但要注意:实例方法可以调用该类中的其他方法。
类方法只能调用其他类方法,不能调用实例方法。 当类文件加载到内存时,实例方法不会被分配内存空间,只有在对象创建之后才会分配。而类方法在该类被加载到内存时就分配了相应的内存空间。 实例方法既能对类变量操作也能对实例变量操作。类方法只能访问其他static方法。类方法只能访问其他static数据,例如,类变量。

编辑于 2015-08-29 13:31:27 回复(1)
实例方法与类方法的定义,通过static关键字进行区分,方法类型说明符前有satic关键字的为类方法,
发表于 2020-08-06 20:58:53 回复(0)

我就想问main方法里调用非静态的你怎么调用,针对B选项

发表于 2018-08-01 23:54:51 回复(1)
static方法是直接在方法区中加载,不能用this指
发表于 2016-05-05 22:20:25 回复(0)
A:类方法是指类中被static修饰的方法,无this指针。
C:类方法是可以调用其他类的static方法的。
D:可以在类方法中生成实例对象再调用实例方法。(这个我也打错了,想想应该是这个意思)
发表于 2018-10-26 20:55:19 回复(0)
A:需要通过类名.类方法来调用,
C:如果是子类,则子类的类方法中可以调用父类的类方法。
D:静态方法访问静态变量,非静态方法可以访问静态变量,错在绝对二字
发表于 2014-12-22 22:10:35 回复(3)
  A答案为什么是错的? 
  public class A{ 
      public void B(){
       
      }
      public void C(){
          this.B(); 
      }
      //不是可以调用B么
  } 
编辑于 2015-07-18 15:02:58 回复(13)
在类方法中,不能直接调用实例方法,但可在类方法中new个对象然后调用实例方法

发表于 2016-03-25 20:33:23 回复(1)
<p>类方法指的static修饰的方法,没有this指针</p>
发表于 2021-01-06 11:29:58 回复(0)
选完a看b的时候把题目记成选正确的,然后选了b和c,看d的时候又记成了选错误的,结果abcd都选了,我也是醉了
发表于 2021-01-02 02:51:28 回复(0)
<p>静态方法就静态方法,非要叫啥类方法,企鹅牛逼</p>
发表于 2020-12-10 08:49:04 回复(0)
成员方法又称为实例方法
静态方法又称为类方法
其次:
a,静态方法中没有this指针
c,可以通过类名作用域的方式调用Class::fun();
d,太绝对化了,在类中申请一个类对象或者参数传递一个对象或者指针都可以调用;
发表于 2020-09-14 15:43:35 回复(0)
public class Main {

    void  chage(){
        this.add(1,2);
    }
    void  add(int a,int b){
        System.out.println(a+b);
    }
    public static void main(String[] args) {
        Main main=new Main();
        main.chage();
    }
}  是这意思不 是我理解错了吗 感觉A没问题

发表于 2020-09-10 18:37:02 回复(0)