1.普通方法:

定义:简单的说方法就是完成特定功能的代码块。

普通方法定义格式:

修饰符   返回值类型   方法名 (参数类型 参数名1,参数类型 参数名2,.........)

{

函数体;

return 返回值;

}

返回值类型用于限定返回值的数据类型。

普通方法分为:有明确返回值的方法和没有明确返回值的方法。

A.有明确返回值的方法的调用

可以单独调用(无意义)、输出调用、赋值调用(推荐)。

public static int sum (int a , int b)
{
    int c =a+b;
    return c ;
}
public static void main(String[] args)
{
           //sum(10,20); //单独调用
           //System.out.println(sum(10,20));  //输出调用
           int sum01 =sum(10,20); //赋值调用
}

B.没有明确返回值的方法调用(void类型方法的调用)

只能单独使用。

(如果一个方法没有明确的返回值类型,方法定义中的“返回值类型”就用void代替,表示该方法无返回值类型。)

2.构造方法

定义:简单的来说是给对象的数据进行初始化的。

构造方法是类的一个特殊的成员,在类实例化时会自动调用。

构造方法定义格式:

修饰符   方法名()

{

}

注意:1.方法名与类名相同。

2.没有返回值类型。

3.没有具体的返回值。

构造方法分为:无参构造方法和有参构造方法。

A.无参构造方法

public class Student{

public  Student(){                    //无参构造方法

System.out.println("无参方法被调用");

}

}

public class Test {

public  static void main (String[]  args){

Student   stu = new Student();  //实例化Student对象

}

}//该方法是无参的构造方法,即构造方法不接收参数,执行后输出即可,无参的构造方法被调用。

B.无参构造方法

为一个属性赋值有两种方法:①、直接访问对象属性 ②、通过setXxx()方法 
如果想在实例化对象的同时就为这个对象的属性进行赋值,可以通过带参数的构造方法来实现

public class Student{

private String name;

private int  age;

public  Student(String name,int age){             //有参构造方法

this name = name;

this  age  = age ;

}

public  void show (){

System.out.println("姓名:"+name+"年龄:"+age);

}

}

public  class  Test02(){

public static void main (String[]   args)

{

Student  stu = new Student("王小五",25);     //实例化对象的同时赋值

stu.show();

}

}

构造方法注意事项:

1.java中的每一个类都至少有一个构造方法,如果我们没有创建,系统会为我们创建一个默认的无参构造方法。(不显示代码)

2.但是如果我们定义了构造方法,系统就不会再为我们提供默认的无参构造方法了。这个时候想使用无参构造方法必须自己定义。因为实例化对象时,不一定会输入参数,那么没有无参的构造方法,又不输入参数,就会出错。

3.构造方法需要用public来修饰,若使用private,在其他类中无法将其实例化。

4.构造方法是可以重载的。

java中构造方法和普通方法的区别的更多相关文章

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

    构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是 ...

  2. Java中wait和sleep方法的区别

    1.两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁). wait ...

  3. 转 Java中wait和sleep方法的区别

    1.两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁). wait ...

  4. Java中start和run方法的区别

    一.问题引入         说到这两个方法就不得不说多线程,说到多线程就不得不提实现多线程的两种方式继承Thread类和实现Runable接口,下面先看这两种方式的区别. 二. Java中实现多线程 ...

  5. Java中构造方法与setter方法

      今天在重温Java的同时,一个不是问题的问题,突然地冒出来,不知道大家是不是和我一样,也有过这个比较尴尬的问题 不啰嗦了,那咱就直接说问题吧~~~ 那么首先我们在Java中都会写构造函数,目的是在 ...

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

     一.文章1 HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源. sendRedirect实现请求重 ...

  7. java中getAttribute与getParameter方法的区别

    知识点1:getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为object对象类型 例: r ...

  8. Java中==号与equals()方法的区别

    String str1 = new String("abc"); String str2 = new String("abc"); System.out.pri ...

  9. 面试常见问题:java中wait()和sleep()方法的区别

    wait()和sleep()方法都是用来控制多线程的有力工具,那么它们之间有什么巨大的区别呢? 1.wait()方法是属于Object类的,而sleep()方法是属于Thread类的. 2.最重要的一 ...

随机推荐

  1. [LeetCode&Python] Problem 387. First Unique Character in a String

    Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...

  2. 2017.7.11 fuse工作原理

    FUSE的工作原理如图所示.假设基于FUSE的用户态文件系统hello挂载在/tmp/fuse目录下.当应用层程序要访问/tmp/fuse下的文件时,通过glibc中的函数进行系统调用,处理这些系统调 ...

  3. 02 JDBC相关

    ====================================================================================JDBC JAVA Databa ...

  4. [zoj4046][树状数组求逆序(强化版)]

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4046 题意:有一个含有n个元素的数列p,每个元素均不同且为1~n中的一个, ...

  5. oracle 11g数据库--创建表空间,创建用户,用户授权并指定表空间。

    使用环境:我们安装完数据库后,查看以下服务是否启动 需要建库.实质上我们是建立表空间,从而进行库的还原工作. 根据本例情况,是在下面目录下进行的操作. D:\app\Administrator\ora ...

  6. hdu4059 The Boss on Mars 容斥原理

    On Mars, there is a huge company called ACM (A huge Company on Mars), and it’s owned by a younger bo ...

  7. Go Example--闭包

    package main import "fmt" func main() { //这里需要将闭包函数当作一个类理解,这里是实例化 nextInt := intSeq() fmt. ...

  8. Go Example--常量

    package main import ( "fmt" "math" ) const s string = "constant" //定义字 ...

  9. idea使用的JDK版本1.9换成1.8后相关的更改设置

    File——>Project Structure 一.查看Project中的jdk 1.检查Project SDK:中jdk 版本是否为1.8版本 2.检查Project language le ...

  10. buckaroo 试用

    我系统是mac 所以选择的是mac 的版本,官方是支持跨平台的. 安装 mac 版本安装 wget https://github.com/LoopPerfect/buckaroo/releases/d ...