凡是加了static的就是 静态的方法类型

解决方案 »

  1.   

    没有static  static 用于修饰method 和属性,表示的是class的静态方法和属性,管理由该类管理
    而不是通过new 的对象
      

  2.   

    static只能用来修饰方法,内部类,和变量.
      

  3.   

    我是想知道public+类名+方法名(){}这种方法是怎么编写的??比如insets这个类它的方法getinsets()方法是public insets getinsets(){}??可是我试着编写这种类型的方法,总是编写不成功,除非在public 后面加个static 才能运行成功,z这是怎么回事?
      

  4.   

    没有static修饰符的方法是非静态方法,也就是成员方法,你必须要有这个类的一个实例,才能调用这个方法
    比如你
    public class A {
    ......
    public Insets getInsets() {}
    ......
    }
    那么你需要先
    A a = new A();
    才能
    a.getInsets()
      

  5.   

    请问你看过这个insets这个类没有?它的写法是 insets i=getinsets();?而它的getinsets()方法是public insets getinsets(),而这个getinsets()方法是属于java.awt .类 Container的。
      

  6.   

    没有static修饰符的方法是非静态方法,也就是成员方法,你必须要有这个类的一个实例,才能调用这个方法
    比如你
    public class A {
    ......
    public Insets getInsets() {}
    ......
    }
    那么你需要先
    A a = new A();
    才能
    a.getInsets()
    你是不是初学者啊?如果是这样简单我会问你吗?我不知道实例化对象,然后调用方法 吗?这还用你说啊。我是问你public insets getInsets()这个方法,你是怎么编写的?我一般编写 public insets getInsetsI()后就出现问题了。你是怎么编写的?
      

  7.   

    public insets getInsetsI()这个方法的前提是insets 是一个类,这个方法要返回一个insets 的实例如果把insets 换成void的话就不用返回了,这个说法可以用在设计模式中的工厂模式中,就是创建一个工厂类,专门返回各种类的对象,谁用谁取。(大致是这样的)
      

  8.   

    你能不能给个例子再说。我知道insets是个类,但是Insets insets=getInsets(); 这样的封装,我理解不了,而且设计模式结构是什么样的,我无法理解。
      

  9.   


    package code.demo.pa01;public class ADemo {

    /**
     * 
     * 作者:fcs
     * 描述:该方法相当于ADemo ademo = new ADemo();
     * 时间:2014-7-22
     */
    public static ADemo getADemo(){
    return new ADemo();    
    }
    public void print(){
    System.out.println("我将被getADemo()方法返回的ADemo对象调用");
    }
    public static void main(String[] args) {
    //getADemo().print();第一种写法

    //ADemo.getADemo().print();第二种写法

    //下面是第三种
    ADemo ademo  = getADemo();
    ademo.print();

    // ADemo ademo1  = new ADemo();
    // ademo1.print();   //第四种写法
    }
    }
      

  10.   

    应该不说话静态类型,一般加上static的话就是静态的。
      

  11.   


    package code.demo.pa01;public class ADemo {

    /**
     * 
     * 作者:fcs
     * 描述:该方法相当于ADemo ademo = new ADemo();
     * 时间:2014-7-22
     */
    public static ADemo getADemo(){
    return new ADemo();    
    }
    public void print(){
    System.out.println("我将被getADemo()方法返回的ADemo对象调用");
    }
    public static void main(String[] args) {
    //getADemo().print();第一种写法

    //ADemo.getADemo().print();第二种写法

    //下面是第三种
    ADemo ademo  = getADemo();
    ademo.print();

    // ADemo ademo1  = new ADemo();
    // ademo1.print();   //第四种写法
    }
    }我似乎懂但又迷糊,ADemo ademo = new ADemo(); ademo.print();跟ADemo ademo  = getADemo();ademo.print();有什么区别吗??这种设计模式有什么意义吗?
      

  12.   

    请问下,不知道你看过getInsets()这个方法没有?它的原型是public Insets getInsets(),java手册中没有加static,可是用法是Insets i=getInsets();难道getinsets()这个方法也是静态的??
      

  13.   

    不是,这是编译问题,Java的实例方法、实例变量都是默认添加当前对象this的。
      

  14.   


    public class InsetsTest {
        
        private Insets insets;    public static void main(String[] args)
        {
            InsetsTest test = new InsetsTest();
            test.getInsets();
            test.setInsets();
            
            //
            getInsetsStatic();
        }
        
        public static Insets getInsetsStatic()
        {
            System.out.println("create Insets object... ");
            return new Insets();
        }
        
        public Insets getInsets()
        {
            System.out.println("create Insets object... ");
            return new Insets();
        }
        
        public void setInsets()
        {
            System.out.println("set insets value... ");
            
            //下面两句的效果是一样的
            insets = getInsets();
            insets = this.getInsets();        
        }
    }class Insets{}在实例方法中,成员方法或变量都是默认添加this的,在静态方法中只能通过new的实例对象进行调用。静态方法不可以直接调用实例方法,实例方法可以直接调用静态方法。
      

  15.   

    static 修饰的都是静态的,无论属性还是方法
      

  16.   

    楼主说的public+类名+方法名(){}或者public+static+类名 +方法名()中的类名都是指的返回值 
    java在声明或实现方法时都不需要指定类名,java中的方法实现一定是属于某个类的 
    在类中调用类的其他方法可以写 this.methodName() 进行调用 或者直接写 methodName调用 不管该方法是否是静态的
      

  17.   

     实例方法,成员方法,你都把我说迷糊了,什么是实例方法?什么是成员方法(void 的方法吧)???getClass().getName();这两个方法是什么原型啊??
      

  18.   

     实例方法,成员方法,你都把我说迷糊了,什么是实例方法?什么是成员方法(void 的方法吧)???getClass().getName();这两个方法是什么原型啊??静态成员(方法和属性)是属于类的,使用static关键字修饰,实例成员(方法和属性)是属于对象的,没有static的修饰;
    这些概念性的东西,你还是多看书吧
      

  19.   

     实例方法,成员方法,你都把我说迷糊了,什么是实例方法?什么是成员方法(void 的方法吧)???getClass().getName();这两个方法是什么原型啊??静态成员(方法和属性)是属于类的,使用static关键字修饰,实例成员(方法和属性)是属于对象的,没有static的修饰;
    这些概念性的东西,你还是多看书吧请问下public Insets getInsets()这个方法是什么方法??该怎么调用??
      

  20.   

    public class Insets { public Insets getInsets (){
    return new Insets();
    }

    public void test (){
    Insets insets = getInsets();
    }
    }
    不知道楼主是不是要这种情况。同一个类中可以直接调用getInsets()方法。如果不是同一个类就需要先创建一个实例,然后再调用。不过你说的这种情况一般会加上static,一般在单例和工厂设计模式中使用。如果在工厂设计模式中,会结合反射来一起使用