java的构造器和void方法的区别

void型的方法什么都不返回,但这是你决定的,你也可以让它返回些什么。而构造函数则什么都不返回,而且你别无选择.”----这句话的意思是,是你决定让这个方法返回void类型的,你也可以改变它不让它返回的是void,而返回其他的类型如int,String等。但是对构造方法你就没机会决定它的返回类型是什么了。

The constructor is an unusual type of method because it has no return value. This is distinctly different from a void return value, in which the method returns nothing but you still have the option to make it return something else. Constructors return nothing and you don’t have an option.

构造器时在堆中开辟内存空间,创建对象的过程。如果某方法使用构造器创建对象,返回的是对象地址。用参数接受此对象地址,这个是约定俗成的规则不能写返回值。


Student s = new Student();

普通方法不管返回void或者string,对象,都是可以选择的。而构造器绝对不能。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 03:48:56

java的构造器和void方法的区别的相关文章

java中 构造器与void

在java中,构造器与void都没有返回值, java编程思想中这么解释构造器的: 构建器属于一种较特殊的方法类型,因为它没有返回值.这与 void 返回值存在着明显的区别.对于void 返回值,尽管方法本身不会自动返回什么,但仍然可以让它返回另一些东西.构建器则不同,它不仅什么也不会自动返回,而且根本不能有任何选择.若存在一个返回值,而且假设我们可以自行选择返回内容,那么编译器多少要知道如何对那个返回值作什么样的处理. 自己运行的例子: public class SimpleConstruct

Java中wait和sleep方法的区别

1.两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁). wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围) sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常 sleep方法属于Thread类中方法,表示让一个线程进入睡眠状态,等待一定的时间之后,自动醒来

Java构造器以及与方法的区别

功能不同: 构造器是为了创建一个类的实例:命名与类相同:可以有任何访问的修饰: public, protected, private或者没有修饰,不能有以下非访问性质的修饰: abstract, final, native, static, 或者 synchronized:无返回值. 方法是为了实现类的一个动作. 以下为复制别人的博客内容: "this"的用法构造器和方法使用关键字this有很大的区别.方法引用this指向正在执行方法的类的实例.静态方法不能使用this关键字,因为静态

构造器与工厂方法的区别

原文地址:http://leihuang.net/2014/11/09/Constructors-VS-Factory-Methods/ 首先看下面两者在创建对象上的区别 // instantiating a class using constructor Dog dog = new Dog(); // instantiating the class using static method Class Dog{ private Dog(){ } // factory method to inst

Java中构造方法跟普通方法的区别?

构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是在实例化对象产生之后,通过"对象方法"调用多次. 如果在构造方法上使用了void,其定义的结构与普通方法就完全一样,而程序的编译时依靠定义结构来解析的.所以不能存在有返回值的情况. 另外,类中构造方法与普通方法的最大区别在于:构造方法是在使用关键字new的时候直接调用,是于对象创建一起执行

java 中sendredirect()和forward()方法的区别

 一.文章1 HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源. sendRedirect实现请求重定向,forward实现的是请求转发. 在web服务器内部的处理机制也是不一样的. 1. 跳转方式 运用forward方法只能重定向到同一个Web应用程序中的一个资源.而sendRedirect方法可以让你重定向到任何URL. 表单form的action= "/uu ";sendRedir

JAVA面试题:equals()方法和== 区别

http://bbs.csdn.net/topics/390000725 总结: equals在没重写之前和==一样,重写之后,equals只要内容一样即为true equals跟==一般情况下是等价的,但是对于String类型,它重写了equals方法,比较的是内容.默认情况下两个都是比较的引用地址,除非你重写equals方法. equals源码: public boolean equals(Object anObject) { if (this == anObject) { return t

Java构造器和方法的区别(转自http://www.blogjava.net/weidagang2046/articles/3430.html)

摘要要学习Java,你必须理解构造器.因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆.但是,构造器和方法又有很多重要的区别.原作者:Robert Nielsen 原站:www.javaworld.com 我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物.(按:老外喜欢打比喻,我也就照着翻译).要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别.同样地,要理解构造器,那么就要了解构造器和方法的区别.所有学习java的人,尤其是对那些要认证考试的,理解构造器是非常重要的.下面将

Java学习之道:Java构造器和方法的区别

摘要 要学习Java,你必须理解构造器.因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆.但是,构造器和方法又有很多重要的区别. 原作者:Robert Nielsen 原站:www.javaworld.com 我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物.(按:老外喜欢打比喻,我也就照着翻译).要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别.同样地,要理解构造器,那么就要了解构造器和方法的区别.所有学习java的人,尤其是对那些要认证考试的,理解构造器是非常重要的.下