zoukankan      html  css  js  c++  java
  • Day6 重载构造

    带参数方法

    【1】无参数,无返回值

    void 方法名(){方法体;}

     【2】无参数,有返回值

    int 方法名(){方法体;}

     【3】有参数,无返回值

    void 方法名(int num){方法体;}

    【4】有参数,有返回值

    int 方法名(int num){方法体;}

    可变参数与数组参数的区别

    【1】可变参数传参灵活,,可以无参,可以多个参数,可以数组;

        数组参数只能传递数组

    【2】可变参数必须放在最后

        数组可以放在任意位置

    【3】可变参数只能有一个;

        数组参数可以有多个。

    递归算法

    递归:程序调用自身的算法。

    条件:1.调用方法本身。

          2.出口

    嵌套for循环 和  用递归实现 的比较

    栈 主要是用来存放栈帧的,每执行一个方法就会出现压栈操作,所以采用递归的时候产生的栈帧比较多,递归就会影响到内存,非常消耗内存,而使用for循环就执行了一个方法,压入栈帧一次,只存在一个栈帧,所以比较节省内存。

    封装

    封装定义:隐藏对象的属性和实现细节,仅对外提供公共的访问方式。

    使用封装的好处

             1、良好的封装能够减少耦合。

             2、类内部的结构可以自由修改。

             3、可以对成员进行更精确的控制。

             4、隐藏信息,实现细节。

     1 public class Husband {
     2     
     3     /*
     4      * 对属性的封装
     5      * 一个人的姓名、性别、年龄、妻子都是这个人的私有属性
     6      */
     7     private String name ;
     8     private String sex ;
     9     private int age ;
    10     private Wife wife;
    11     
    12     /*
    13      * setter()、getter()是该对象对外开发的接口
    14      */
    15     public String getName() {
    16         return name;
    17     }
    18 
    19     public void setName(String name) {
    20         this.name = name;
    21     }
    22 
    23     public String getSex() {
    24         return sex;
    25     }
    26 
    27     public void setSex(String sex) {
    28         this.sex = sex;
    29     }
    30 
    31     public int getAge() {
    32         return age;
    33     }
    34 
    35     public void setAge(int age) {
    36         this.age = age;
    37     }
    38 
    39     public void setWife(Wife wife) {
    40         this.wife = wife;
    41     }
    42 }
    View Code

    方法重载

    在一个类中,方法名相同,参数列表(个数,顺序,类型)不同。与返回值无关。

    作用:方便记忆和使用。

    重载方法不同的方式

    在java中重载方法有三种方式,它们分别是:

    • 通过改变参数的数量
    • 通过更改数据类型
    • 通过改变参数排列顺序

    注意:在java中,只通过更改方法的返回类型来实现方法重载是不可以的。

    构造器

    系统会自动创建一个构造方法(构造器)默认构造。

    如果没有显示的定义构造器,那么系统会自动定义一个构造器,叫默认构造器。

    可以显示定义构造器,只要显示定义了构造器,那么系统调用的是显示定义的构造器

    无参构造,只能在创建对象的时候才能调用

    注意:1.没有任何返回值

          2.名字和类名必须一致

    作用:初始化对象。

    构造器和访问器的区别

    1.构造器 创建完对象,所有的属性都初始化完成、

     访问器不能。

    2.构造器 创建对象的时候初始化,可以一次给所有属性初始化

       访问器需要在创建对象后,逐个调用赋值

    3.创建对象后,想要修改属性值那么需要用访问器。

    构造器和普通方法的区别

    1.构造器就是用来初始化对象的。

       普通方法是为了完成某个特定的功能

    2.构造器只能在创建对象的时候调用new

       普通方法在使用的时候可以随意调用,不调用就不执行

    初始化对象

    1.成员变量默认初始化

    2.声明处初始化或构造块初始化

    3.构造器初始化

    构造块

    定义:在类中

    class 类名{
    
        {
           构造块:
           作用:解决构造器中的属性值相同,代码重用的问题。
        }
    
    }

    本类构造器调用

    this();//

  • 相关阅读:
    HDU
    纯C++去雾算法
    拓扑排序
    SG 函数初步 HDU 1536 && HDU 1944
    <html>
    XML制作RSS源
    ACM退役前2个月总结
    javascript 的 jasmine 的測试语句
    Vue.js父与子组件之间传参
    $.contents().find设置的data在iframe子页面无法获取值
  • 原文地址:https://www.cnblogs.com/qingyunzong/p/8063817.html
Copyright © 2011-2022 走看看