黑马程序员技术交流社区

标题: 请问前面学的功能函数和后面的成员方法,构造方法 [打印本页]

作者: 代码搬运1号    时间: 2015-5-14 18:53
标题: 请问前面学的功能函数和后面的成员方法,构造方法
请问前面学的功能函数(这个有静态修饰的)和后面的成员方法,构造方法有什么区别啊???
作者: 杨春雨    时间: 2015-5-14 19:51
这个问题楼主看看为给你写了个例子 看能解决了不?如果不懂可以继续问
  1. //首先这是一个类
  2. public class Tools {
  3.         // 类必须有自己的构造函数 可以是无参数的 没有返回值
  4.         public Tools() {
  5.                 System.out.println("无参构造方法");
  6.         }

  7.         // 可以是有参数的构造函数 这个参数就是String s啦 没有返回值
  8.         public Tools(String s) {
  9.                 System.out.println("有参构造方法");
  10.         }

  11.         // 像这个方法是成员方法,这个方法是有返回值的 当前是返回int
  12.         public int init(int num) {
  13.                 // 简单作用啦 做例子用,这个作用就是将一个整形的变量变为0
  14.                 num = 0;
  15.                 System.out.println("调用了成员方法");
  16.                 return num;
  17.         }

  18.         // 这个是静态的一个方法 就像你说的有静态修饰的
  19.         // 用静态修饰了以后不需要New这个Tools对象就可以调用这个方法
  20.         public static int start(int num) {
  21.                 num = 1;
  22.                 System.out.println("调用了静态成员方法");
  23.                 return num;
  24.         }

  25.         public static void main(String[] args) {
  26.                 //这样new一个tools 调用的无参构造方法
  27.                 Tools tools = new Tools();
  28.                 //这个你看后面传了一个String类型的"哈哈"调用的就是上面有参数那个构造方法
  29.                 Tools tools1 = new Tools("哈哈");
  30.                 //这个成员方法必须被new出的对象来调用
  31.                 tools.init(10);
  32.                 //这个就是你说的功能函数?他不需要new对象调用,系统在运行这个例子的时候
  33.                 //静态的方法已经给他开辟好空间把它放进去了,所以可以直接类名.方法名()调用
  34.                 Tools.start(20);
  35.         }
  36. }
复制代码

2222.png (10.53 KB, 下载次数: 15)

2222.png

作者: guojiadui    时间: 2015-5-14 20:37
你说的功能函数因为和主函数在同一个类中,而主函数是静态函数,说以在主函数要调用用到功能函数时要用静态修饰。说白了,也就是在一个普通类中一个静态函数调用了另一个静态函数,和其他类的方法没什么不同。而这些功能函数就是主函数所在类中的成员方法。构函数不过就是一个特别的成员方法,他在对象生产时会被自动调用。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2