java中的void有什么作用啊?构造方法与方法有什么区别呢?
2015-06-28 12:29
881 查看
void除了说明该方法没有返回值外,还有什么作用呢?构造方法同样也是没有返回值的,那它和void方法有什么区别呢?构造方法与方法又有什么区别?用具象的实物来表现的话三者有何种关系呢?
id 除了说明该方法没有返回值以外,并没有其它的作用。
构造方法应该来说是一个特殊的方法,但是其实可以理解为构造方法是有返回值的。
我们在使用 new Person() 时,这个构造函数被执行了,而返回值,就是新的对象。
回复楼主的两个问题:
为什么要用void来规定方法没有返回值呢?用具体的例子怎么样来说明呢?求具象化的解答。
构造方法与方法的区别是什么呢?感觉初学对这个很困惑。
我用一个类的代码来回答你的这两个问题
我们在使用 new Person() 时,会调用构造函数A,而使用 new Person("jimy")时,会调用构造函数B
构造函数只有在实例化一个类时才会被调用,在类实例化完成后,构造函数无法再被调用。
Person 这个类,有两个方法, Run 和 Speak ,在现实生活中,跑步我们不需要返回什么,只需要这个对象去执行这个动作就可以了。而 Speak 这个,需要有一些回馈,比如说话的内容等等。
方法在类被实例化后,可以随时调用(只要可以调用得到)。
建议初学者的话,认识系统的看一两本书,《JAVA编程思想》是一定要看完的。
id 除了说明该方法没有返回值以外,并没有其它的作用。
构造方法应该来说是一个特殊的方法,但是其实可以理解为构造方法是有返回值的。
Person p = new Person();
我们在使用 new Person() 时,这个构造函数被执行了,而返回值,就是新的对象。
回复楼主的两个问题:
为什么要用void来规定方法没有返回值呢?用具体的例子怎么样来说明呢?求具象化的解答。
构造方法与方法的区别是什么呢?感觉初学对这个很困惑。
我用一个类的代码来回答你的这两个问题
class Person{ public string name; //构造函数A: 这是一个空构造函数 public Person(){ } //构造函数B: 这是带参构造函数 public Person(String name){ this.name = name; } public void Run(){ } pulbic String Speak(){ return "说话的内容"; } } Person tom = new Person(); tom.name = "tom"; //让tom跑 tom.Run; Person jimy = new Person("jimy"); String song = jimy.Speak();
我们在使用 new Person() 时,会调用构造函数A,而使用 new Person("jimy")时,会调用构造函数B
构造函数只有在实例化一个类时才会被调用,在类实例化完成后,构造函数无法再被调用。
Person 这个类,有两个方法, Run 和 Speak ,在现实生活中,跑步我们不需要返回什么,只需要这个对象去执行这个动作就可以了。而 Speak 这个,需要有一些回馈,比如说话的内容等等。
方法在类被实例化后,可以随时调用(只要可以调用得到)。
建议初学者的话,认识系统的看一两本书,《JAVA编程思想》是一定要看完的。
相关文章推荐
- struts2 标签使用 iterator 嵌套使用设置默认值 s:radio 设置默认值
- 源码分析之struts1自定义方法的使用与执行过程
- eclipse3.7 安装maven插件与scm
- Android中如何使用JUnit进行单元测试 eclipse
- 2015062806 - EffactiveJava笔记 - 第41条 慎用重载(2)
- Java数组备忘录
- java.util.logging.Logger使用详解
- LeetCode_61---Rotate List
- ubuntu中安装jdk配置环境变量
- 项目报错:Cannot find class file for javax/servlet/ServletException
- Java读书笔记一(异常处理)
- Spring配置web.xml的<servlet>标签
- 【Java进阶】单例模式详解
- spring整合struts小结
- Java-J2SE学习笔记-树状展现文件结构
- MyEclipse 启动报错:'Building workspace' has encountered a problem解决方法
- Java 无法导入javax.annotation.Resource
- Java 内存分配、对象生命周期与垃圾回收
- MyEclipse+Struts2登录验证(含工程源码)
- Java线程同步