Day6 重载构造
带参数方法
【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 重载构造的更多相关文章
- 匿名对象 构造方法 重载 构造代码块 this 关键字
一.匿名对象 1.匿名对象 :没有名字对象 2.匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值,无法获取属性值. 2.匿名对象永远都不可能事一个对象. 3.匿名对象的好处 : 书写简单. ...
- 黑马程序员——JAVA基础之构造函数,构造代码块
------- android培训.java培训.期待与您交流! ---------- 构造函数特点: 1. 函数名与类名相同 2. 不用定义返回值类型 3. 不可以写return语句 构造函数 ...
- Java 类的重载/匿名类的使用/可变形参
/** *1.类的方法的重载 *2.匿名类对象的传递和引用 *3.可变个数的形参(格式:1/对于方法的形参: 数据类型...形参名 * 2/可变个数的形参与同名的方法之间构成重载 * 3/可变个数的形 ...
- C#与C++的发展历程第一 - 由C#3.0起
俗话说学以致用,本系列的出发点就在于总结C#和C++的一些新特性,并给出实例说明这些新特性的使用场景.前几篇文章将以C#的新特性为纲领,并同时介绍C++中相似的功能的新特性,最后一篇文章将总结之前几篇 ...
- 30 GroupSock(Port)——live555源码阅读(四)网络
30 GroupSock(Port)——live555源码阅读(四)网络 30 GroupSock(Port)——live555源码阅读(四)网络 简介 Port类的定义 Port的构造与全局的 &l ...
- Google glog 使用
Google glog 使用 1 简介 Googleglog 库实现了应用级的日志记录,提供了C++ 风格的流操作和各种助手宏. 代码示例: #include <glog/logg ...
- 【转】android 自定义控件
Android自定义View实现很简单 继承View,重写构造函数.onDraw,(onMeasure)等函数. 如果自定义的View需要有自定义的属性,需要在values下建立attrs.xml.在 ...
- Java:基础
Hello World //HelloWorld.java文件 public class HelloWorld { public static void main(String[] args) { S ...
- android开发3:四大基本组件的介绍与生命周期
android开发3:四大基本组件的介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver ...
随机推荐
- SQLSERVER查询整个数据库中某个特定值所在的表和字段的方法
这几天有业务部门需要使用一个SAP B1老系统 中的报表,但是由于此报表没有加时间条件,导致一旦开始查询 就会导致B1系统异常退出.由于报表对应的SQL 是存在数据库中,所以想通过查找到这个报表的S ...
- SpringMVC 面试题
SpringMVC 面试题 什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,它是Spring ...
- [疑难杂症]解决实际开发中各种问题bug
我有一个习惯就是遇到问题找到解决方案后收藏网页.后来遇到问题越来越多,收藏就多得有点离谱了.我反思了一下,其实有用的信息就那么点,那我干脆还是做成网页剪报好了. 关于VS的 Problem:未能正确加 ...
- fzu 2163
Problem 2163 多米诺骨牌 Accept: 17 Submit: 50Time Limit: 1000 mSec Memory Limit : 32768 KB Problem ...
- 云服务器部署mongodb
我喜欢用简单的方法 步骤 下载 解压并运行 远程连接测试 下载 到官方下载页获取下载地址,如图 在云服务器上,使用命令curl 你的地址 -o mongodb.tgz ,下载到当前目录,转到下一步. ...
- Java springmvc 统一异常处理的方案
前言:为什么要统一异常处理?经常在项目中需要统一处理异常,将异常封装转给前端.也有时需要在项目中统一处理异常后,记录异常日志,做一下统一处理. Springmvc 异常统一处理的方式有三种. 一.使用 ...
- 在php中怎么利用js把参数传递给弹窗
1.在php页面中经常用到把参数传递给弹窗页面,在弹窗页面中操作 2.两种方式,截图为一种 3.最常见的就是利用hideen隐藏域,点击按钮的时候把要传递的参数值传递给隐藏域,需要的时候在弹窗中获取. ...
- Ubuntu OpenJDK + Tomcat7 的安装
jdk1.7.0安装首先安装openjdk,安装命令如下图. 安装好之后检查jdk文件路径,如下图. 建立链接(ls),如下图. 成功之后,配置环境变量,并重新运行一下,如下图. 环境变量在文件最后面 ...
- react组件直接在document上添加事件
demo:比如组件里有个div写的框框,点击document body的背景色变红,点击div写的框框没效果 componentDidMount(){ document.onclick = this. ...
- Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方法
一.相关软件介绍 1. J2SDK:Java2的软件开发工具,是Java应用程序的基础.JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK. 2. Apache服务器:Apache ...