构造方法及方法(重载)与this关键字的使用
2020-04-24 16:07:14来源:博客园 阅读 ()
构造方法及方法(重载)与this关键字的使用
一:构造方法的概念:
构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
二:构造方法的特殊性(反映在以下几个方面):
1.构造方法作用: (1)构造出来一个类的实例 (2)对构造出来个一个类的实例(对象)初始化。 2.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。 3.主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的。 4.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。 5.不能被static、final、synchronized、abstract和native修饰。 6.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。 7.构造方法分为两种:无参构造方法 有参构造方法 构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。 【代码示例01】【代码示例02】
1 class Penguin { 2 // 属性 3 /* 无参构造方法 */ 4 public Penguin() { 5 name = "qq"; 6 love = 20; 7 sex = "Q仔"; 8 System.out.println("执行构造方法"); 9 } 10 }
三:构造方法的特点:
1:方法名与类名相同
2:无返回值类型
3:可以被重载
4:不能被继承
5:不能被重写
6:主要作用为: 用于对象的创建(new)
注意:
(1)调用时机:类new时被自动调用
(2)作用:在类初始化的时候进行赋值
四:构造方法的重载
【代码示例】
//无参构造 public Penguin () { name = "qq"; love = 20; sex = "Q仔"; } 调用方法: Penguin pgn = new Penguin(); //============================================= //有参构造 public Penguin (String name,int health,int love,String sex ) { this.name = name; this.health = health; this.love = love; this.sex = sex; } 调用方法: Penguin pgn = new Penguin("美美", 80, 20, "Q仔"); //============================================== //重载方法 public Penguin (String name,int health,String strain ) { this.name = name; this.health = health; this.strain = strain; } 调用方法:Penguin pgn = new Penguin("美美", 60, "拉布拉多");
1:方法重载的特殊性:
(1):方法名相同 (两个及两个以上方法名相同)
(2):参数项不同 (参数数据类型或个数不同)
(3):与访问修饰符和返回值无关
(4):用在同一个类里
注意:构造方法与普通方法都可以形成重载
2:方法重载的作用:
(1):减少代码量,使代码更简洁明了
(2):调用方便,提高代码的灵活性
五:this关键字的用法:
1:this的概念:this关键字 是对一个对象 的默认引用,这里用以区分同名成员变量
2:this的使用:
(1)调用属性 eg: this.health=100; this.strain="拉布拉多";
(2)调用方法 eg: this.print();
(3)调用构造方法 eg: this()【调用无参构造方法】 this("小黑",100,100,"公") 【调用有参构造方法】
注意:•(如果调用构造方法,必须是构造方法中的第一条语句,且只用在同一个类中)
•(在子类中,既可以调用本类的属性和方法,也可以调用父类的属性和方法)
原文链接:https://www.cnblogs.com/liangbaolong/p/12758023.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 构造函数中的this()和super() 2020-06-10
- 类的继承,方法重新中修饰符如何定义 2020-06-10
- java里面main方法中的String[]args 2020-06-07
- 错误: 在类中找不到 main 方法, 请将 main 方法定义为: & 2020-06-06
- 学习笔记之方法引用 2020-06-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash