构造方法

概念:

  又叫 构造器,区分于传统的方法,是一个在创建对象时被系统自动调用的特殊方法

作用:

  一:为对象进行初始化(成员变量)的工作

  二:为对象在堆内存中开辟独立的内存空间

定义格式:

  访问修饰符    方法名(){

    }

用法:

  只能通过new关键字进行调用

person{
public person(){
}
}
//代码测试
public static void main(String [] args){
person per = new person();
}

注意事项:

一:方法名必须和类名保持一致

二:当一个类中没有定义构造方法时,系统会自动加载一个无参的构造方法

//一:不写构造方法,系统默认加载构造方法
Construction con = new Construction();
con.eat(); 运行结果如下:
我是:null,今年:0岁,喜欢吃拉面

三:如果用户重新定义了一个构造方法,那么Java提供的无参的构造方法会默认覆盖

/**
* 构造方法: 重写构造方法,初始化成员变量
*/
public Construction(){
username = "鸣人";
garder = 19;
}
//一:重写构造方法,初始化成员变量
Construction con = new Construction();
con.eat();
运行结果:
我是:鸣人,今年:19岁,喜欢吃拉面

四:返回值问题

构造方法又叫构造器,不能把它等同于普通方法去对比,什么意思呢?

就是,普通方法有返回值类型,有return语句,有访问修饰符,但是构造方法从本质上就不是普通方法

构造方法:没有返回值类型,void也不能加

     没有返回值,但是有运行结果,运行结果就是创建一个对象,所以在构造方法内不能调用return。

       访问修饰符,只能是public,不能是其他的访问修饰符。

五:构造方法之间可以使用 this() 相互调用 但是 this() 必须是构造方法内容的第一行  如果有参数 传入相应的参数

/**
* 构造方法:无参
*/
public Construction(){
this("佐助",19);
// username = "鸣人";
// garder = 18;
} Construction con = new Construction();
con.eat();
运行结果:
我是:佐助,今年:19岁,喜欢吃拉面

六:当参数列表的参数名和成员变量同名时  要使用this.区分成员变量和 局部变量

/**
* 构造方法:有参
* @param username:用户姓名
* @param garder:用户年龄
*/
public Construction(String username,int garder){
this.username = username;
this.garder = garder;
}
//一:重写构造方法,初始化成员变量
Construction con = new Construction("鸣人",19);
con.eat();
运行结果:
我是:鸣人,今年:19岁,喜欢吃拉面

关于Java中构造方法的问题以及回答的更多相关文章

  1. java中构造方法和方法super/this超类与子类中初始化顺序

    java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...

  2. 关于java中构造方法、实例初始化、静态初始化执行顺序

    在Java笔试中,构造方法.实例初始化.静态初始化执行顺序,是一个经常被考察的知识点. 像下面的这道题(刚刚刷题做到,虽然做对了,但是还是想整理一下) 运行下面的代码,输出的结果是... class ...

  3. java中构造方法及其作用

    构造方法作用就是对类进行初始化. 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数. 构 ...

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

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

  5. java中构造方法和普通方法的区别

    1.普通方法: 定义:简单的说方法就是完成特定功能的代码块. 普通方法定义格式: 修饰符   返回值类型   方法名 (参数类型 参数名1,参数类型 参数名2,.........) { 函数体: re ...

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

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

  7. Java中构造方法、实例方法、类方法的区别

    1. 构造方法 构造方法负责对象的初始化工作,为实例变量赋予合适的初始值.必须满足以下的语法规则: 方法名与类名相同: 不要返回类型(例如return.void等): 不能被static.final. ...

  8. Java中构造方法的执行顺序

    一.先执行内部静态对象的构造方法,如果有多个按定义的先后顺序执行:静态对象在构造的时候也是也先执行其内部的静态对象. 二.再调用父类的构造方法(父类还有父类的话,从最开始的基类开始调用),如果没有明显 ...

  9. java中构造方法和方法全面解析

    构造方法和方法的区别: 构造方法要与类名相同,无返回类型,在类初始化的时候调用.      方法最好与类名不同,对象调用,静态方法可用类名.方法(). 构造器和方法在下面三个方面区别:修饰符,返回值, ...

随机推荐

  1. servlet(6) 链接数据库

    一.servlet链接mysql步骤: 1.注册驱动器:Class.forName("com.mysql.jdbc.Driver"); 加载类并执行下面的静态语句块,将Driver ...

  2. Leetcode 4.28 string

    1. 38. Count and Say 就是对于前一个数,找出相同元素的个数,把个数和该元素存到新的string里.数量+字符 class Solution { public String coun ...

  3. 抽奖大转盘 js代码

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. /Date(1555554794000)/ 转换为日期格式

    /Date(1555554794000)/ 转换为 2019/4/18 new Date(parseInt('/Date(1555554794000)/'.substr(6, 13))).toLoca ...

  5. 内置函数(sorted、map、enumerate、filter、reduce)

    1.sorted() 语法: sorted(iterable, cmp=None, key=None, reverse=False) 把iterable中的items进行排序之后,返回一个新的列表,原 ...

  6. Python实现FTP文件的上传和下载

    # coding: utf-8 import os from ftplib import FTP def ftp_connect(host, username, password): ftp = FT ...

  7. P1438 无聊的数列 (差分+线段树)

    题目 P1438 无聊的数列 解析: 先考虑修改,用差分的基本思想,左端点加上首项\(k\),修改区间\((l,r]\)内每个数的差分数组都加上公差\(d\),最后的\(r+1\)再减去\(k+(r- ...

  8. jira,Confluence 的JVM内存优化

    个人喜好,可能不是很适合大众 JIRA 修改setenv.sh,调整JVM为4096m [root@jira_confluence ~]# cd /app/atlassian/jira/bin/ [r ...

  9. logstash 自动重新加载配置

    自动重新加载配置 为了可以自动检测配置文件的变动和自动重新加载配置文件,需要在启动的时候使用以下命令: ./bin/lagstash -f configfile.conf --config.reloa ...

  10. Django websocket 长连接使用

    下载  pip install dwebsocket WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客 ...