一:构造方法的概念:

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

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

      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. IO多路复用原理&场景

    目录 IO多路复用的历史 阻塞 IO 非阻塞 IO IO 多路复用 select poll epoll IO多路复用高效的原因 IO多路复用解决的什么问题 epoll比selector性能一定更好吗 ...

  2. java的四种引用:强软弱虚

    简介 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于(reachable)可达状态,程序才能使用它. 从JDK 1.2版本开始,对象的引 ...

  3. winform 获得局域网内在线IP和计算机名,获取IP,多线程网络编程

    转载请注明来源:https://www.cnblogs.com/hookjc/ using System; using System.Collections.Generic; using System ...

  4. 广播接收者案例_sd卡状态监听

    (1)定义广播接收者 import android.content.BroadcastReceiver; import android.content.Context; import android. ...

  5. spring 注解注入bean

    通过注解方式注入bean,需要在配置类下注入bean 第一步,配置扫描文件夹 首先要在spring.xml中配置需要扫描的配置类 <context:componenet-scan base-pa ...

  6. k8s之yaml文件详解

    k8s之yaml文件详解 目录 k8s之yaml文件详解 1. k8s支持的文件格式 2. YAML语言格式 3. 查看api资源版本标签 4. 编写nginx-test.yaml资源配置清单 4.1 ...

  7. Oracle 撤回已经提交的事务

    在PL/SQL操作了一条delete语句习惯性的commit 了,因少加了where条件 导致多删了数据 1.查询视图v$sqlarea,找到操作那条SQL的时间(FIRST_LOAD_TIME) s ...

  8. mock测试出现Circular view path [trade_records]: would dispatch back to the current handler URL

    这是因为你的Controller中返回的视图名称与你当前的requestMapping名称一样,这并没有很好的解决方案,除非你改掉其中一个名字. 因为springframework test时你并没有 ...

  9. PHP+mysql真题

    PHP+mysql真题 来自<PHP程序员面试笔试宝典>,涵盖了近三年了各大型企业常考的PHP面试题,针对面试题提取出来各种面试知识也涵盖在了本书. [真题215] 按要求写出SQL实现. ...

  10. 《PHP程序员面试笔试宝典》——如果面试问题曾经遇见过,是否要告知面试官?

    如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> 面试中,大多数题目都不是凭空想象出来的,而是有章可循,只要求职者肯花时间,耐得住寂寞,复习得当,基本上在面试前都会见过相 ...