精华内容
下载资源
问答
  • java成员方法

    千次阅读 2020-04-13 18:19:45
    //成员方法 //第一种写法,无参数无返回值 例子:speak方法,输出我是一个好人 //第二种写法,无参数有返回值 例子:jisuan方法,计算1-1000的和 ,返回运行结果,结果的数据类型为int //第三种 有参数 有返回值 ...

    public class Fang {
    //成员变量
    //构造方法(函数)
    //成员方法
    //第一种写法,无参数无返回值 例子:speak方法,输出我是一个好人
    在这里插入图片描述
    //第二种写法,无参数有返回值 例子:jisuan方法,计算1-1000的和 ,返回运行结果,结果的数据类型为int
    在这里插入图片描述
    //第三种 有参数 有返回值 修改jisuan方法 可以接受一个变量n,根据n的值 计算从1-n的结果并返回,当有不确定元素的时候,把这个不确定的元素作为参数
    在这里插入图片描述
    //第四种 有参数 无返回值 add方法 输入两个数 不确定的数,计算两个数的和 在成员方法中输出结果
    在这里插入图片描述
    }
    成员方法调用
    在这里插入图片描述

    展开全文
  • java成员方法概念知识

    万次阅读 2015-04-02 20:41:44
    java成员方法基本概念

    java中的不能独立存在,必须定义在类里,逻辑上属于类或对象,因此必须使用类(static修饰的方法)或对象(非static修饰的方法或static修饰的方法)调用(不能独立执行)。

    参数传递机制

    java中只有一种参数传递机制:值传递,即将实际参数值的副本传入方法,而参数本身不受方法影响。当参数是基本数据类型时,这种机制很好理解,但是当参数是引用类型时,往往会造成误解。直接上例子:

    class Data{
        public int i;
        public int j;
        public Data(int i, int j){
            this.i = i;
            this.j = j;
        }
    }
    public class TransferTest{
        public void swap(int i,int j){
            int temp = 0;
            temp = i;
            i = j;
            j =temp;
        }
        public void swap(Data d){
            int temp = 0;
            temp = d.i;
            d.i = d.j;
            d.j = temp;
        }
        public static void main(String[] args){
            int a = 2;
            int b = 3;
            TransferTest tt = new TransferTest();
            tt.swap(a,b);
            System.out.println("a改变之后为:" + a);
            System.out.println("b改变之后为:" + b);
            Data d = new Data(4,5);
            tt.swap(d);
            System.out.println("d的成员变量i改变之后为:" + d.i);
            System.out.println("d的成员变量j改变之后为:" + d.j);
        }
    }

    结果为:
    误导
    可以看到a和b没有变化,d.i和d.j发生了对换。a和b符合值传递,不再解释。那么为啥d的成员变量互换了?
    我们知道值传递传的是副本,而对于类的对象来说也相当于副本(d是引用变量,d在栈中,指向堆中的实际对象)。那么通过值传递,传递的应该是是副本的一个副本,仍然指向堆中的实际对象,因此在方法中操作的是实际对象。上图说明(有点搓,凑合看吧):
    瞎图
    可以在swap()中设置d=null(方法中的d指向null),结果没变,即说明了是值传递。

    形参个数可变的方法

    从JDK1.5开始,java允许定义形参个数可变的方法,有两种方法定义:

    1. 在定义方法时,在最后一个参数的类型后增加三个点,则表示该方法可接受多个参数,以数组形式传入。代码如下:

      public class Var{
      public static void test(int i,int ... a){
          //a被当做数组处理
          for(int temp : a){
              System.out.println(temp);
          }
      }
      public static void main(String[] args){
          test(1,2,3,4,5);
          System.out.println("----华丽的分割线1----");
          test(1,2,3,4,5,6,7,8,9);
          System.out.println("----华丽的分割线2----");
          //直接用数组做实参
          int[] a = {2,3,4};
          test(1,a);
      }
      }

      需注意的是:这种方式的参数只能在形参列表的最后给出,因此一个方法中只能有一个可变的形参,可以用数组赋值

    2. 在定义方法时,可以在任意位置采用数组形式作为参数:

      public class Var{
          public static void test(int i,int[] a){
              for(int temp : a){
                  System.out.println(temp);
              }
          }
          public static void main(String[] args){
              int[] a = {2,3,4};
              //实参只能是数组
              test(1,a);
          }
      }

    重载(Overload)

    重载含义:同一个类中,形参列表不同(个数,类型,顺序)的多个方法,即两同一不同:同类,同名,不同形参列表。至于返回值类型、修饰符不能作为方法重载的依据。如下代码:

    public class Overload{
        public void test(){
            ;
        }
        public int test(){
            int i = 0;
            return i;
        }
    
    }

    提示错误为:
    error
    即例子中两个test()方法只有返回值类型不同,不能称之为重载。举个简单的例子若例子中某个方法调用test()方法:

    test();

    这种情况人都不能区分调用的是哪个更何况机器!
    还有不怎么建议重载形参长度可变的方法,

    展开全文
  • 声明成员方法可以定义类的行为,行为表示一个对象能够做的事情或者能够从一个对象取得的信息。类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法...

    声明成员方法可以定义类的行为,行为表示一个对象能够做的事情或者能够从一个对象取得的信息。类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法参数和方法返回值类型,其结构如图 1 所示。
     


    图1 方法组成元素


    成员方法一旦被定义,便可以在程序中多次调用,提高了编程效率。声明成员方法的语法格式如下:

     
    1. public class Test
    2. {
    3. [public|private|protected][static]<void|return_typexmethod_name>([paramList])
    4. {
    5. //方法体
    6. }
    7. }


    上述代码中一个方法包含 4 部分:方法的返回值、方法名称、方法的参数和方法体。其中 retum_type 是方法返回值的数据类型,数据类型可以是原始的数据类型,即常用的 8 种数据类型,也可以是一个引用数据类型,如一个类、接口和数组等。

    除了这些,一个方法还可以没有返回值,即返回类型为 void,像 main() 方法。method_name 表示自定义的方法名称,方法的名称首先要遵循标识符的命名约定,除此之外,方法的名称第一个单词的第一个字母是小写,第二单词的第一个字母是大写,依此类推。

    paramList 表示参数列表,这些变量都要有自己的数据类型,可以是原始数据类型,也可以是复杂数据类型,一个方法主要依靠参数来传递消息。方法主体是方法中执行功能操作的语句。其他各修饰符的含义如下。

    • public、private、protected:表示成员方法的访问权限。
    • static:表示限定该成员方法为静态 方法。
    • final:表示限定该成员方法不能被重写或重载。
    • abstract:表示限定该成员方法为抽象方法。抽象方法不提供具体的实现,并且所属类型必须为抽象类。

    例 1

    为上一节创建的学生类 Student 添加一个可以返回学生信息字符串的方法。代码如下:

     
    1. public class Student
    2. {
    3. public StringBuffer printInfo(Student st)
    4. {
    5. StringBuffer sb=new StringBuffer();
    6. sb.append("学生姓名:"+st.Name+"\n 学生年龄:"+st.Age+"\n 学生性别:"+st.isSex());
    7. return sb;
    8. }
    9. }


    上述代码创建了一个名称为 printInfo 的方法,其返回值类型为 StringBuffer(引用数据类型)。该方法需要传递一个 Student 类型的参数,最后需要将一个 StringBuffer 类型的数据返回。

    1. 成员方法的返回值

    若方法有返回值,则在方法体中用 return 语句指明要返回的值,其格式如下所示。

    return表达式

    或者

    return(表达式)


    其中,表达式可以是常量、变量、对象等。表达式的数据类型必须与声明成员方法时给出的返回值类型一致。

    2. 形参、实参及成员方法的调用

    一般来说,可以通过以下方式来调用成员方法:

    methodName({paramList})

    关于方法的参数,经常会提到形参与实参,形参是定义方法时参数列表中出现的参数,实参是调用方法时为方法传递的参数。

    例 2

    下面 retumMin() 方法中的 m 和 n 是形参,调用 retumMin() 方法时的 x 和 y 是实参。

     
    1. public int returnMin(int m,int n)
    2. {
    3. return Math.min(m,n); //m和n是形参
    4. }
    5. public static void main(String[] args)
    6. {
    7. int x=50;
    8. int y=100;
    9. Test t=new Test();
    10. int i=t.returnMin(x,y); //x和y是实参
    11. System.out.println(i);
    12. }


    方法的形参和实参具有以下特点:

    • 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在方法内部有效,方法调用结束返回主调 方法后则不能再使用该形参变量。
    • 实参可以是常量、变量、表达式、方法等,无论实参是何种类型的量,在进行方法调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值、输入等办法使实参获得确定值。
    • 实参和形参在数量、类型和顺序上应严格一致,否则会发生“类型不匹配” 的错误。
    • 方法调用中发生的数据传送是单向的,即只能把实参的值传送绐形参,而不能把形参的值反向地传送给实参。因此在方法调用过程中,形参的值发生改变,而实参中的值不会变化。

    例 3

    下面的示例演示了调用 add() 方法前后形参 x 的变化。

     
    1. public int add(int x)
    2. {
    3. x+=30;
    4. System.out.println("形参 x 的值:"+x);
    5. return x;
    6. }
    7. public static void main(String[] args)
    8. {
    9. int x=150;
    10. System.out.println("调用 add() 方法之前 x 的值:"+x);
    11. Test t=new Test();
    12. int i=t.add(x);
    13. System.out.println("实参 x 的值:"+x);
    14. System.out.println("调用 add() 方法的返回值:"+i);
    15. }


    运行上述程序,输出结果如下:

    调用 add() 方法之前 x 的值:150
    形参 x 的值:180
    实参 x 的值:150
    调用 add() 方法的返回值:180

    从输出结果可以看出,形参 x 值的改变,并没有影响实参 x。

    在调用成员方法时应注意以下 4 点:

    1. 对无参成员方法来说,是没有实际参数列表的(即没有 paramList),但方法名后的括号不能省略。
    2. 对带参数的成员方法来说,实参的个数、顺序以及它们的数据类型必须与形式参数的个数、顺序以及它们的数据类型保持一致,各个实参间用逗号分隔。实参名与形参名可以相同,也可以不同。
    3. 实参也可以是表达式,此时一定要注意使表达式的数据类型与形参的数据类型相同,或者使表达式的类型按 Java 类型转换规则达到形参指明的数据类型。
    4. 实参变量对形参变量的数据传递是“值传递”,即只能由实参传递给形参,而不能由形参传递给实参。程序中执行到调用成员方法时,Java 把实参值复制到一个临时的存储区(栈)中,形参的任何修改都在栈中进行,当退出该成员方法时,Java 自动清除栈中的内容。

    3. 方法体中的局部变量

    在方法体内可以定义本方法所使用的变量,这种变量是局部变量。它的生存期与作用域是在本方法内,也就是说,局部变量只能在本方法内有效或可见,离开本方法则这些变量将被自动释放。

    在方法体内定义变量时,变量前不能加修饰符。局部变量在使用前必须明确赋值,否则编译时会出错。另外,在一个方法内部,可以在复合语句中定义变量,这些变量只在复合语句中有效。

    展开全文
  • Java 成员变量和成员方法

    万次阅读 多人点赞 2018-12-07 10:25:44
    Java 语言中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。 成员变量 在 Java 中对象的属性也称为成员变量。为了了解成员变量,首先定义一个图书类,成员变量对应于类对象的属性,在 Book 类...

    在 Java 语言中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。

    成员变量

    在 Java 中对象的属性也称为成员变量。为了了解成员变量,首先定义一个图书类,成员变量对应于类对象的属性,在 Book 类中设置 3 个成员变量,分别为 id、name 和 category,分别对应于图书编号、图书名称和图书类别 3 个图书属性。

    例子:创建 Book 类,在该类中定义并使用成员变量

    public class Book {
        private String name;        //定义一个 String 类型的成员变量
        
        public String getName() {       //定义一个 getName 方法
            int id = 0;                     //局部变量
            setName("Java");            //调用类中其他方法
            return id + this.name;
        }
        
        private void setName(String name) {     //定义一个 setName 方法
            this.name =  name;                  //将参数值赋给类中成员变量
        }
        
        public Book getBook() {
            return this;        //返回 Book 类引用
        }
    }
    

    上述定义了三个成员变量。

    成员方法

    在 Java 语言中使用成员方法对应于类对象的行为。以 Book 类为例,它包含了 getName() 和 setName() 两个方法,这两个成员方法分别为获取图书名称和设置图书名称的方法。

    定义成员方法的语法格式如下:

    权限修饰符 返回值类型 方法名(参数类型 参数名){
        ...//方法体
        return 返回值;
    }
    

    一个成员方法可以有参数,这个参数可以是对象,也可以是基本数据类型的变量,同时成员方法有返回值和不返回值的选择,如果方法需要返回值,可以在方法体中使用 return 关键字,使用这个关键字后,方法的执行将被终止。

    Java 中的成员方法无返回值,可以使用 void 关键字表示

    展开全文
  • Java 构造方法与成员方法的区别

    千次阅读 多人点赞 2019-05-27 10:48:30
    认定构造方法是,类名与构造方法相同,这个方法就是构造方法,这个类中除了构造方法以外的方法都是构造方法,原因是在类中,除了变量外的基本都是成员方法。 看一个小案例 package me; public class Me { private ...
  • 浅谈Java中的成员方法和普通方法

    千次阅读 2020-03-30 17:40:43
    import java.util.Scanner...*类说明:普通方法和成员方法 */ public class Gongzi { public static int money(int jb,int jiangjing)//形参,普通方法 { return jb + jiangjing; } public static void main...
  • Java构造方法和成员方法

    万次阅读 2017-10-25 20:57:56
    构造方法和成员方法 1:构造方法 1:构造方法作用概述 给对象的数据进行初始化 2:构造方法格式 方法名与类名相同 没有返回值类型,连void都没有 没有具体的返回值 3:构造方法注意事项 如果...
  • 构造方法与成员方法Java

    千次阅读 多人点赞 2018-07-21 20:42:42
    一、构造方法 1.特点: (1)方法名名必须类名相同 (2)没有返回值(方法中不能出现void、return等语句) 2.作用: (1)给对象初始化 3.构造方法的细节: (1)当一个类中没有定义构造函数时,系统会...
  • Java中成员变量和成员方法的使用

    千次阅读 2016-10-16 21:56:56
    package g.practise_myself;... 功能:成员变量和成员方法的使用  */ import java.io.*; public class Object  { public static void main(String[] args) { //创建一个人的对象 Person p1=new
  • Java成员变量与成员方法

    千次阅读 2019-05-27 10:28:49
    学而时习之,温故而知新. 成员变量: 在Java中对象的属性成为成员变量, 有时候很多人也喜欢把成员变量等同于全局变量, ...在Java中使用成员方法来对应与类对象的行为,在类中,除了变量外的都是成员方法。 一个案...
  • Java-----构造方法和成员方法的区别

    万次阅读 多人点赞 2018-11-02 19:54:45
    构造方法和成员方法的区别 1.构造方法  构造方法作用概述  给对象的数据进行初始化  构造方法格式  方法名与类名相同  没有返回值类型,连void都没有  没有具体的返回值  构造方法注意事项  如果你...
  • Java—初学—成员方法的分类及使用

    千次阅读 2018-04-20 19:12:20
    成员方法========================因此写一个标准类需要:1. 私有成员变量2. 无参的构造方法 3. 有参数的构造方法4. setXxxx() 和 getXxxx() 方法5. show() 方法6. 其他成员函数================...
  • java中static修饰成员方法

    千次阅读 2016-11-03 09:25:06
    static修饰方法(静态的成员方法): 访问方式: 方式一:可以使用对象进行访问。 对象.静态的函数名(); 方式二:可以使用类名进行访问。 类名.静态函数名字。 推荐使用是类名直接访问静态的成员。 静态函数要...
  • 静态方法与成员方法 定义方法的时候,有static和没有static有什么区别? 1.有static的方法,叫静态方法。 2.没有static的方法,叫成员方法(实例方法)。 定义静态方法的格式: public static 返回值类型 方法名称...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的...
  • 成员方法默认修饰符为: public abstract 1、成员变量 从默认修饰符 “public static final” 中可以看出,在接口内定义成员变量时,成员变量为最终静态变量,不能被实例化为对象【没有对象】,并且必须赋值,在外面...
  • java成员变量和方法

    千次阅读 2018-08-11 23:33:25
    能在类中存在的只有成员变量和成员方法,只要是一个方法就可以称为成员方法,它只是方法的统称。 类包括成员变量和方法两部分。成员变量表示类的属性,一数据域的形式表达,方法是数据的操作的定义。 在JAVA中,...
  • 编程语言的三大发展阶段:面向机器语言、面向过程语言...1、类是Java程序的基本要素,一个Java应用程序就是由若干个类所构成; 2、类声明的变量称为对象变量,也简称 对象 ; 3、class 关键字是用来定义类 ; 4、...
  • Java成员默认访问控制权限是default

    千次阅读 2020-11-04 19:34:48
    Java成员中的四种访问权限分别是 :Private、Default、Protected、Public 我们平常都知道Private、Protected、Public却不很关注Default 他们的权限级别:Private < Default < Protected < Public 1、...
  • Java方法中通过传递参数改变变量的值
  • JAVA方法的调用(详细整理)

    万次阅读 多人点赞 2018-05-23 15:00:55
    JAVA方法的调用主要有以下几种:1.非静态方法非静态方法就是没有 static 修饰的方法,对于非静态方法的调用,是通过对 象来调用的,表现形式如下。对象名.方法()eg:public class InvokeMethod{ public static ...
  • java方法 成员变量 局部变量概述

    千次阅读 2017-12-23 20:37:58
     java方法就是用来解决某件事或者实现某个功能的办法。如果需要定义一个方法,则只能在类里面定义,不能不能独立定义一个方法。一旦将一个方法定义在某个类的类体内,如果这个方法使用了static修饰,则这个方法...
  • Java中的静态方法调用静态成员变量

    千次阅读 2015-11-04 09:00:16
    1. 静态方法只能直接调用静态成员(包括变量和方法),而不能直接访问类中的非静态成员 2. 静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所...
  • Java —— 类、对象、类方法、成员方法、构造方法

    千次阅读 多人点赞 2019-02-13 18:22:08
    1.类的定义 package 包名; class 类名 extend 父类 implements 接口名{ ... 成员方法; } 2.类的对象 类名 对象名 = new 类名(); // 类的创建 对象名.属性名 // 访问类的成员属性  3. 类的成员方法...
  • Java访问权限的修饰符public,private,protected,缺省(default)一个类中的成员变量和成员方法(非静态)被访问分为两种场景,一是在该类中,或其子类中访问,二是创建该类的对象进行访问。假设:有三个类 class ...
  • Java成员详解-Java成员概念大全

    千次阅读 2017-06-08 10:57:05
    Java成员 变量 方法 构造器 初始化块 内部类

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 659,463
精华内容 263,785
关键字:

java成员方法

java 订阅