带参数方法

【1】无参数,无返回值

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

【2】无参数,有返回值

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

【3】有参数,无返回值

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

【4】有参数,有返回值

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

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

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

    数组参数只能传递数组

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

    数组可以放在任意位置

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

    数组参数可以有多个。

递归算法

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

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

      2.出口

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

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

封装

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

使用封装的好处

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

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

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

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

 public class Husband {

     /*
* 对属性的封装
* 一个人的姓名、性别、年龄、妻子都是这个人的私有属性
*/
private String name ;
private String sex ;
private int age ;
private Wife wife; /*
* setter()、getter()是该对象对外开发的接口
*/
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public void setWife(Wife wife) {
this.wife = wife;
}
}

方法重载

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

作用:方便记忆和使用。

重载方法不同的方式

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

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

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

构造器

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

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

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

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

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

      2.名字和类名必须一致

作用:初始化对象。

构造器和访问器的区别

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

 访问器不能。

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

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

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

构造器和普通方法的区别

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

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

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

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

初始化对象

1.成员变量默认初始化

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

3.构造器初始化

构造块

定义:在类中

class 类名{

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

本类构造器调用

this();//

Day6 重载构造的更多相关文章

  1. 匿名对象 构造方法 重载 构造代码块 this 关键字

    一.匿名对象 1.匿名对象 :没有名字对象 2.匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值,无法获取属性值. 2.匿名对象永远都不可能事一个对象. 3.匿名对象的好处 : 书写简单. ...

  2. 黑马程序员——JAVA基础之构造函数,构造代码块

    ------- android培训.java培训.期待与您交流! ---------- 构造函数特点: 1.  函数名与类名相同 2.  不用定义返回值类型 3.  不可以写return语句 构造函数 ...

  3. Java 类的重载/匿名类的使用/可变形参

    /** *1.类的方法的重载 *2.匿名类对象的传递和引用 *3.可变个数的形参(格式:1/对于方法的形参: 数据类型...形参名 * 2/可变个数的形参与同名的方法之间构成重载 * 3/可变个数的形 ...

  4. C#与C++的发展历程第一 - 由C#3.0起

    俗话说学以致用,本系列的出发点就在于总结C#和C++的一些新特性,并给出实例说明这些新特性的使用场景.前几篇文章将以C#的新特性为纲领,并同时介绍C++中相似的功能的新特性,最后一篇文章将总结之前几篇 ...

  5. 30 GroupSock(Port)——live555源码阅读(四)网络

    30 GroupSock(Port)——live555源码阅读(四)网络 30 GroupSock(Port)——live555源码阅读(四)网络 简介 Port类的定义 Port的构造与全局的 &l ...

  6. Google glog 使用

    Google glog 使用 1        简介 Googleglog 库实现了应用级的日志记录,提供了C++ 风格的流操作和各种助手宏. 代码示例: #include <glog/logg ...

  7. 【转】android 自定义控件

    Android自定义View实现很简单 继承View,重写构造函数.onDraw,(onMeasure)等函数. 如果自定义的View需要有自定义的属性,需要在values下建立attrs.xml.在 ...

  8. Java:基础

    Hello World //HelloWorld.java文件 public class HelloWorld { public static void main(String[] args) { S ...

  9. android开发3:四大基本组件的介绍与生命周期

    android开发3:四大基本组件的介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver ...

随机推荐

  1. Java8简明学习之Lambda表达式

    函数式接口 就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口,函数式接口可以被隐式转换为lambda表达式. 之前已有的函数式接口: java.lang.Runnable java.uti ...

  2. display:table-cell自适应布局下连续单词字符换行——张鑫旭

    之前有几次提到了使用display:table-cell实现强大的任意尺寸元素的自适应布局(都藏在长长文章之中).这里开篇再次提一下,希望能将该技术普及下去. 典型的双栏布局类名使用如下: fix l ...

  3. Android 使用全局变量的问题

    现在每天都在忙,而且一忙起来,就把写笔记的事情放在了后面,最近在写程序的时候,突然要使用全局变量,就按照以前的方式,写了一个类,然后把变量都声明为静态变量,然后做为全局变量使用,但是在进行Activi ...

  4. 【node】fs模块,文件和目录的操作

    检查文件是否存在,查询文件信息 fs.stat() fs.stat('./server.js', function (err, stat) { if (stat && stat.isF ...

  5. 安卓脱壳&&协议分析&&burp辅助分析插件编写

    前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 前言 本文以一个 app 为例,演示对 app脱壳,然后分析其 协 ...

  6. 格式化字符串漏洞利用实战之 0ctf-easyprintf

    前言 这是 0ctf 的一道比较简单的格式化串的题目. 正文 逻辑非常简单 do_read 可以打印内存地址的数据,可用来 泄露 got. leave 格式化字符串漏洞. printf(s) 直接调用 ...

  7. idapython 开发

    调试方法 使用 pydevd 然后在需要调试处加入调试代码 GetOperandValue 作用 参数1: ea 虚拟地址 参数2: 操作数号 返回指令的操作数的被解析过的值 文档 def GetOp ...

  8. pytts3语音合成遇到的中文问题

    在使用pytts3语音合成时,遇到中文语音错乱.程序代码本身很简单,也是网上公认的一种写法: #coding: UTF-8import pyttsx3; engine = pyttsx3.init() ...

  9. Ssh 证书验证 续篇

    今天下午正好有外面的人要登录服务器,想了想,普通用户密码就是不想给,然后我就这样做了. useradd alex ---创建账户和密码 passwd alex mkdir /home/alex/.ss ...

  10. [翻译] ASFTableView

    ASFTableView A customizable Web like multi column table view for iOS with header and inner rows. 一个类 ...