class xy{
  int mlu(int a,int b)
 {
  return a*b;
 }
  int add(int a,int b)
  {
   return a+b;
  }
  int sub(int a,int b)
  {
   return a-b;
  }
}
public class TwoNumber{
public static void main(String args[]){
  int x=10,y=2,z=1;
 // xy ab=new ab();
    z=xy.sub(x,y);
  System.out.println(z);
 // System.out.println("z="ab.xchengy((ab.xjia(int x,int y),ab.xjian(int x,int y)));
 }
 }

解决方案 »

  1.   

    // xy ab=new ab();
    z=xy.sub(x,y);
    这里的xy是哪里定义的?看你上面注释掉了啊。
    没有定义的话,当然不可以直接“类名.方法名”调用了,你的方法又不是静态方法。
      

  2.   

    class xy{
    int mlu(int a,int b)
    {
    return a*b;
    }
    int add(int a,int b)
    {
    return a+b;
    }
    int sub(int a,int b)
    {
    return a-b;
    }
    }
    public class TwoNumber{
    public static void main(String args[]){
    int x=10,y=2,z=1;
    // xy ab=new ab();
    z=xy.sub(x,y);
    System.out.println(z);
    // System.out.println("z="ab.xchengy((ab.xjia(int x,int y),ab.xjian(int x,int y)));
    }
    }
    你这程序是什么意思?正确的如果要想使你的程序运行起来,就运行下面public class TwoNumber{
    public static void main(String args[]){
    int x=10,y=2,z=1;
     xy ab=new xy();
    z=ab.sub(x,y);
    System.out.println(z);
    // System.out.println("z="ab.xchengy((ab.xjia(int x,int y),ab.xjian(int x,int y)));
    }
    }class xy{
    public int mlu(int a,int b)
    {
    return a*b;
    }
    public int add(int a,int b)
    {
    return a+b;
    }
    public int sub(int a,int b)
    {
    return a-b;
    }
    }
    把上面的程序放在同一个java文件中就可以正常运行了。
      

  3.   

    public class TwoNumber{
    public static void main(String args[]){
    int x=10,y=2,z=1;
    xy ab=new xy();
    z=ab.sub(x,y);
    System.out.println(z);
      

  4.   

    // xy ab=new ab();
    z=xy.sub(x,y);
    改为
    xy ab = new ab();
    z = ab.sub(x,y)
      

  5.   

    package test;class xy{
    int mlu(int a,int b)
    {
    return a*b;
    }
    int add(int a,int b)
    {
    return a+b;
    }
    int sub(int a,int b)
    {
    return a-b;
    }
    }
    public class TwoNumber{
    public static void main(String args[]){
    int x=10,y=2,z=1;
     xy ab=new xy();
    z=ab.sub(x,y);
    System.out.println(z);
    // System.out.println("z="ab.xchengy((ab.xjia(int x,int y),ab.xjian(int x,int y)));
    }

     
      

  6.   


    xy ab = new ab();  //是不是新创建一个对象ab 同时让xy指向ab这个对象呢 谁能给我详细的讲解下这个的意思呢啊
      

  7.   

    记住,只有当变量或方法前面加了static修饰符的时候,才可以这样调用 
    className.Method() 或者className.element否则,任何定义的变量和方法都必须像这样调用
    ClassName cn=new ClassName();
    cn.element;
    cn.Method(传入参数);关于面向对象思维里有专门讲这个修饰符访问权限的问题.建议看一下哦....
      

  8.   

    看来楼主是个新手,连创建对象的语句也会写错,哈哈,好好努力哦
    // xy ab=new ab();
    改为  xy ab=new ab();
          z = ab.sub(x,y);
      

  9.   

    class xy{
    int mlu(int a,int b)
    {
    return a*b;
    }
    int add(int a,int b)
    {
    return a+b;
    }
    int sub(int a,int b)
    {
    return a-b;
    }public class TwoNumber{
    public static void main(String args[]){
    int x=10,y=2,z=1;
    // xy ab=new ab();
    z=xy.sub(x,y);
    System.out.println(z);
    // System.out.println("z="ab.xchengy((ab.xjia(int x,int y),ab.xjian(int x,int y)));
    }
    }
    }
      

  10.   

    不知道楼主要问啥? 是想用类名+“.”掉用方法吗?那方法必须是static的。要是一般调用就实例化一个对象然后再调用方法。
      

  11.   

    给你个建议啊 。。要这样写
    package test;class Xy{
    int i;
    int Mlu(int a,int b)
    {
    i = 1;
    return a*b;
    }
    int Add(int a,int b)
    {
    i=2;
    return a+b;
    }
    int Sub(int a,int b)
    {
    i=3;
    return a-b;
    }
    }
    public class TwoNumber{
    public static void main(String args[]){
    int x=10,y=2,z=1;
    xy ab=new xy();
    if(ab.i==1)
         z=ab.Mlu(x,y);
    else if(ab.i=2)
         z=ab.Add(x,y);
    else if(ab.i = 3)
         z=ab.Sub(x,y);System.out.println(z);
    // System.out.println("z="ab.xchengy((ab.xjia(int x,int y),ab.xjian(int x,int y)));
    }