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 ...
随机推荐
- jstack,jmap,jstat分别的意义
1.Jstack 1.1 jstack能得到运行java程序的java stack和native stack的信息.可以轻松得知当前线程的运行情况.如下图所示 注:这个和thread dump是同 ...
- Mysql最左匹配原则实践(原创)
mysql最左匹配原则 什么叫最左匹配原则 最左匹配原则的误区 实战 结论: 1 条件查询中条件顺序没有关系 2 在最左匹配原则中,有如下说明: 最左前缀匹配原则,非常重要的原则,mysql会一直向右 ...
- CPU执行程序的原理(简化过程)
前言 看了网上的一些描述CPU执行程序的过程,发现他们涉及到的内容太多了,恨不能把整个CPU的底层结构都拿出来说,这对计算机理论知识匮乏的新人甚至是一些老人都是非常不友好的.这个问题也是当初拦在我面前 ...
- 探讨ES6的import export default 和CommonJS的require module.exports
今天来扒一扒在node和ES6中的module,主要是为了区分node和ES6中的不同意义,避免概念上的混淆,同时也分享一下,自己在这个坑里获得的心得. 在ES6之前 模块的概念是在ES6发布之前就出 ...
- Vue双向绑定原理详解
前言:Vue最核心的功能之一就是响应式的数据绑定模式,即view与model任意一方改变都会同步到另一方,而不需要手动进行DOM操作,本文主要探究此功能背后的原理. 思路分析 以下是一个最简单的双向绑 ...
- 利用:before和:after伪类制作类似微信对话框
今天学到了怎么做一个小三角形,进而结合其他属性把类似微信对话框的图形做出来了. 先做出如下形状: .arrow { width: 30px; height:30px; border-width:20p ...
- 通过ES6实现的Ajax类
个人学习用途而已,仅供参考. class Ajax { constructor(xhr) { xhr = window.XMLHttpRequest ? new XMLHttpRequest() : ...
- SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑
SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑 翻译自:http://troubleshootingsql.com/2011/07/20/preemptiv ...
- ExpressRoute 线路和路由域
你必须订购一条 ExpressRoute 线路 ,以通过连接提供商将你的本地基础结构连接到 Azure.下图提供了你的 WAN 与 Azure 之间的连接的逻辑表示形式. ExpressRoute 线 ...
- Oracle诊断工具 - ORA-1578 Troubleshooting Tool
Oracle support网站提供ORA-1578错误诊断工具:ORA-1578 Troubleshooting Tool. ORA-1578 Troubleshooting Tool根据分析上传的 ...