带参数方法

【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. C语言读取配置文件

    自从大学学完C之后,就再也没用过它了, 在网上找代码,七拼八凑之后,终于成形~~勉强能用,不喜勿喷,^_^! int GetValue(const wchar_t *key, wchar_t *val ...

  2. Form表单和里边的小部件

    一.Form表单:form表单是用来收集用户信息,并向后台提交信息的区域表单: 1.属性 “action” 是 “行为“的意思,该属性的值表示:用户提交信息到哪个页面: 2.属性”method“ 是” ...

  3. Java转换Word文件到PDF文件

    使用Docx4j将Word文件转换为PDF文件: public static void convertDocxToPDF(String docxFilePath, String pdfPath) th ...

  4. Spring是什么、spring容器、Spring三大核心思想DI(依赖注入)、IOC(控制反转)、AOP(面向切面编程)

    1.Spring (1)Spring是什么? 是一个轻量级的.用来简化企业级应用开发的开发框架. 注: a.简化开发: Spring对常用的api做了简化,比如,使用Spring jdbc来访问数据库 ...

  5. css边框颜色渐变

    在实际开发中,我们经常遇见边框需要背景渐变的实现要求,那么如何去实现呢,今天给大家分享依稀几种情况 1.直角的背景渐变 <!DOCTYPE html> <html lang=&quo ...

  6. css盒模型(Box Model)

    所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用. CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和 ...

  7. 让浏览器识别HTML5规范中的新标签

    IE8浏览器中还没有添加对HTML5新标签的支持,所以在IE8中无法直接展现HTML5新标签中的内容.庆幸的是IE8/IE7/IE6支持通过document.createElement方法产生的标签, ...

  8. oracle常见的等待事件说明

    转自 http://blog.itpub.net/29371470/viewspace-1063994/ 1. Buffer busy waits 从本质上讲,这个等待事件的产生仅说明了一个会话在等待 ...

  9. leetCode题解之删除单链表中指定的元素

    1.问题描述 Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> ...

  10. html5 audio vedio and video.js

    查看audio play事件http://jplayer.org/HTML5.Media.Event.Inspector/ media.seekable, buffered,played这些数据 we ...