一:构造方法的概念:

            构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。

二:构造方法的特殊性(反映在以下几个方面):

      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,"公") 【调用有参构造方法】

注意:•(如果调用构造方法,必须是构造方法中的第一条语句,且只用在同一个类中)

•(在子类中,既可以调用本类的属性和方法,也可以调用父类的属性和方法)

构造方法及方法(重载)与this关键字的使用的更多相关文章

  1. (1)构造方法和方法重载 (2)this关键字 (3)方法的传参和递归调用

    1.构造方法和方法重载如: Person p = new Person(); - 声明Person类型的引用p指向Person类型的对象 p.show(); - 调用名字为show()的成员方法 1. ...

  2. 要想学好Java编程,构造器、方法重载、this关键字、垃圾回收机制,这4关一定要过!

    有人说,你应该关注时事.财经,甚至流行的电影.电视剧,才有可能趁着热点写出爆文:有人说,你别再写“无聊”的技术文了,因为程序员的圈子真的很小,即便是像鸿洋那样的招牌大牛,文章是那么的干货,浏览量有多少 ...

  3. Java中的(构造方法、方法重载、final修饰符使用及继承和抽象)

    构造方法: 构造方法的名称和类名相同,没有返回类型,参数列表(类型.个数)不同 方法重载:成员方法和构造方法都可以进行重载 方法名相同但是参数列表(类型,个数)不同,成为方法的重载. 继承:直支持单继 ...

  4. C#基础(203)实例方法和重载方法总结,构造方法与实例方法总结,this关键字

    c#方法的重载:分为实例方法重载和静态方法重载俩种 1.实例方法重载的调用特点 首先写三个Add方法和三个Sub方法 public int Add(int a,int b) { return a + ...

  5. java——方法重载与重写、构造方法、this关键字、static关键字、strictfp关键字、类的导入

    Java SE5新增加@Override注解,它并不是关键字,但是可以把它当作关键字使用.当你想要覆写(重写)某个方法时,可以选择添加这个注解,在你不留心重载而并非覆写了该方法时,编译器就会生成一条错 ...

  6. 面向对象编程(二)封装--构造方法,this关键字,static关键字,方法重载

    面向对象三大特点:封装.继承.多态 封装概念 ①   将东西包装在一起,然后以新的完整形式呈现出来: 将方法和字段一起包装到一个单元中,单元以类的形式实现; ②   信息隐藏,隐藏对象的实现细节,不让 ...

  7. 方法重写和方法重载;this关键字和super关键字

    1:方法重写和方法重载的区别?方法重载能改变返回值类型吗? 方法重写: 在子类中,出现和父类中一模一样的方法声明的现象. 方法重载: 同一个类中,出现的方法名相同,参数列表不同的现象. 方法重载能改变 ...

  8. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  9. Java ——对象 类 方法重载 构造方法 封装 内部类

    本节重点思维导图 快捷键 生成代码:alt+shift+s 提取变量:alt+shift+L 快速复制行:alt+ctrl+向上或向下的箭头 删除行:ctrl+d 类:对同一种事物共同属性和行为的抽象 ...

随机推荐

  1. 学习JAVAWEB第十天

    今天内容: 运行servlet到崩溃,一直是404 明天继续运行

  2. Vue3源码分析之Diff算法

    Diff 算法源码(结合源码写的简易版本) 备注:文章后面有详细解析,先简单浏览一遍整体代码,更容易阅读 // Vue3 中的 diff 算法 // 模拟节点 const { oldVirtualDo ...

  3. django之memcached缓存系统

    django其他缓存方法:(https://www.cnblogs.com/jishuweiwang/p/6110809.html) memcached版本 <1.5 1. memcached缓 ...

  4. Dapr Actor 的微服务架构

    Dapr中的Actor模型,和Orleans的Virtual Actor一脉相传, 圣杰写过一篇文章Orleans 知多少 | .NET Core 分布式框架介绍过.简单来讲:Actor模型 = 状态 ...

  5. 在Spring Boot中从类路径加载文件

    介绍 创建Spring Boot Web应用程序时,有时有时需要从类路径中加载文件:war和jar的加载文件格式是不一样的 在下面,您将找到在WAR和JAR中加载文件的解决方案. 资源加载器 使用Ja ...

  6. JS 将Table内容导出到Excel(样式设计)

    转载请注明来源:https://www.cnblogs.com/hookjc/ function saveAsExcel(tableID){ var tb = new TableToExcel(tab ...

  7. hibernate中的一级缓存与闪照区

    首先Hibernate中的一级缓存默认是打开的,并且范围从session创建到session关闭,存储的数据必须是持久态的数据. 1 //从session创建开始,一级缓存也跟着创建 2 Sessio ...

  8. 浅谈php web安全

    首先,笔记不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记.细心总结文章,里面有些是我们phper不易发现或者说不重视的东西.所以笔者写下来方便以后查阅.在大公司肯定有专门的we ...

  9. 按照递推的思想求解next[]数组

    按照递推的思想求解next[]数组 根据定义next[0]=-1,假设next[j]=k, 即P[0...k-1]==P[j-k,j-1] 若P[j]P[k],则有P[0..k]P[j-k,j],很显 ...

  10. 生成一个node项目

    生成一个node项目1.创建文件夹2.文件夹中右键->在此处打开命令窗口->文件夹中打开dos3.执行:npm init //一路回车,最后y4.安装插件: C:\www\nodejs\h ...