关于Java中构造方法的问题以及回答
构造方法
概念:
又叫 构造器,区分于传统的方法,是一个在创建对象时被系统自动调用的特殊方法
作用:
一:为对象进行初始化(成员变量)的工作
二:为对象在堆内存中开辟独立的内存空间
定义格式:
访问修饰符 方法名(){
}
用法:
只能通过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中构造方法的问题以及回答的更多相关文章
- java中构造方法和方法super/this超类与子类中初始化顺序
java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望 ...
- 关于java中构造方法、实例初始化、静态初始化执行顺序
在Java笔试中,构造方法.实例初始化.静态初始化执行顺序,是一个经常被考察的知识点. 像下面的这道题(刚刚刷题做到,虽然做对了,但是还是想整理一下) 运行下面的代码,输出的结果是... class ...
- java中构造方法及其作用
构造方法作用就是对类进行初始化. 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数. 构 ...
- Java中构造方法与setter方法
今天在重温Java的同时,一个不是问题的问题,突然地冒出来,不知道大家是不是和我一样,也有过这个比较尴尬的问题 不啰嗦了,那咱就直接说问题吧~~~ 那么首先我们在Java中都会写构造函数,目的是在 ...
- java中构造方法和普通方法的区别
1.普通方法: 定义:简单的说方法就是完成特定功能的代码块. 普通方法定义格式: 修饰符 返回值类型 方法名 (参数类型 参数名1,参数类型 参数名2,.........) { 函数体: re ...
- Java中构造方法跟普通方法的区别?
构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是 ...
- Java中构造方法、实例方法、类方法的区别
1. 构造方法 构造方法负责对象的初始化工作,为实例变量赋予合适的初始值.必须满足以下的语法规则: 方法名与类名相同: 不要返回类型(例如return.void等): 不能被static.final. ...
- Java中构造方法的执行顺序
一.先执行内部静态对象的构造方法,如果有多个按定义的先后顺序执行:静态对象在构造的时候也是也先执行其内部的静态对象. 二.再调用父类的构造方法(父类还有父类的话,从最开始的基类开始调用),如果没有明显 ...
- java中构造方法和方法全面解析
构造方法和方法的区别: 构造方法要与类名相同,无返回类型,在类初始化的时候调用. 方法最好与类名不同,对象调用,静态方法可用类名.方法(). 构造器和方法在下面三个方面区别:修饰符,返回值, ...
随机推荐
- Linux(Ubuntu)使用日记------markdown文档转化为word文档
Linux(Ubuntu)使用日记------markdown文档转化为word文档
- oracle篇 之 组函数
一,常见组函数 1 . avg:求平均值,操作数值类型 2.sum:求和,操作数值类型 3.min:求最小值,操作任意类型 4.max:求最大值,操作任意类型 select avg(salary),s ...
- python调用openstack的api,create_instance的程序解析
python调用openstack的api,create_instance的程序解析 2017年10月17日 15:27:24 CloudXli 阅读数:848 版权声明:本文为博主原创文章,未经 ...
- Go语言中的Struct
一.Go语言中没有像C#.Java一样的Class,只有Struct这样的结构体.Go语言使用type关键字来定义一个类型. 如下: type User struct { Name string Ag ...
- bzoj 2049: [Sdoi2008]Cave 洞穴勘测 (LCT)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2049 题面: 2049: [Sdoi2008]Cave 洞穴勘测 Time Limit: 1 ...
- Vue js 的生命周期(看了就懂)
转自: https://blog.csdn.net/qq_24073885/article/details/60143856 用Vue框架,熟悉它的生命周期可以让开发更好的进行. 首先先看看官网的图, ...
- 微信小程序onLaunch、onLoad执行生命周期
原文转载自:微信小程序onLaunch.onLoad执行生命周期 1.需求:先执行App的onLaunch添加验证权限等,再执行Page里的onLoad. 2.问题:还没有等onLaunch执行完成, ...
- JavaScript中数据类型判断
做判断前先来了解下 JavaScript 中的基本数据类型 一.七大数据类型 基本类型:存储在栈( stack )中 Number(包括整型和浮点型) String. Boolean. Symbol ...
- Apache的安装与配置+PHP
https://blog.csdn.net/u012130971/article/details/79284937 文件夹名称不要有空格
- STL仿函数functor
一:仿函数functor介绍 尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象. functor,翻译成函数对象,伪函数,算符,是重载了“()”操作符的 ...