java-day06
面向过程
每一个具体的步骤都亲力亲为,详细处理每一个细节
面向对象
不关心具体步骤,而是找一个已经具有该功能的人来帮我做事
特点
封装性
继承性
多态性
类
是一组相关属性和行为的集合
成员变量(属性):该事物的状态信息
成员方法(行为):该事物能做什么
类是对象的模板,对象是类的实体
类的定义格式
修饰符 class 类名{
}
如何使用类
1.导入包(同一包中可省略)
2.创建 类名称 对象名 = new 类名称();
3.使用 对象名.成员变量 或 对象名.成员方法
成员方法定义格式
修饰符(不加static)返回值类型 方法名(参数类型 参数名){
方法体;
}
一个对象调用一个方法内存图

成员方法保存的是一个地址值
两个对象调用同一个方法内存图

一个引用,作为参数转递到方法

使用对象类型作为方法的返回值

成员变量与局部变量区别
1.定义位置不同:成员变量定义在类中方法外,局部变量定义在方法中
2.作用范围不同:成员变量全类通用,局部变量只能在本方法中使用
3.默认值不同:成员变量根据数据类型不用有不用的默认值,局部变量没有默认值
4.内存位置不同:成员变量在堆内存,局部变量在栈内存
5.生命周期不同:成员变量随着对象的诞生而诞生,随着对象被垃圾回收而消失;局部变量随着方法进栈而诞生,随着方法出栈而消失
封装
方法是一种封装
关键字private也是一种封装
将一些细节信息隐藏起来,对外不可见
private修饰的成员变量不能被其他类直接访问,但可以间接访问:设置一对Getter/Setter方法
this关键字
如果方法的局部变量与成员变量重名时,根据就近原则访问的是方法中的局部变量,如果需要访问本类中的成员变量,格式为 this.成员变量
通过谁调用方法,谁就是this
类的构造方法
专门用来创建对象的方法
格式:
修饰符 类名称 (参数类型 参数名称){
方法体
}
注意事项
1.构造方法没有返回值
2.构造方法的名称要与类名称相同
3.如果没有编写构造方法,那么编译器就会赠送一个无参的构造方法,而该方法的方法体什么都不干
4.一旦编写了至少一个构造方法,编译器就不会赠送构造方法
5.构造方法可以重载
定义一个标准的类
1.每个成员变量都用private修饰
2.为每个成员变量设置一对Getter/Setter
3.编写一个无参的构造方法
4.编写一个全参的构造方法
java-day06的更多相关文章
- java - day06 - arraycopy
package day05; import java.util.Arrays; import java.util.Random; /* * 附:如果需要使用引用类,如Random类的方法, * 需要新 ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 2017-2018-1 JAVA实验站 冲刺 day06
2017-2018-1 JAVA实验站 冲刺 day06 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 进行工作总结.博客.小组成员头像 100% 齐力锋 找背按钮声音 100% 张浩 ...
- java 多线程 day06 threadLocal
import java.util.HashMap;import java.util.Map;import java.util.Random; /** * Created by chengtao on ...
- Java 学习 day06
01-面向对象(Static关键字) package myFirstCode; /* 静态:static. 用法:是一个修饰符,用于修饰成员(成员变量,成员函数) 当成员被静态修饰后,就多了一个调用方 ...
- Java之路---Day06
2019-10-20-23:13:52 目录内容: 1.Scanner类 2.匿名对象 3.Random类 4.对象数组 Scanner类 功能:实现键盘输入数据到程序中 使用步骤: 1.导包: im ...
- Java 复习整理day06
Java api 章节除了一下列的常用类别的用时候查文档 1 package com.it.demo01_api; 2 3 import java.util.Scanner; 4 5 /* 6 案例: ...
- day06 Java面向对象
1.对象内存图 (1)1个对象的内存图:一个对象的基本初始化过程 (2)2个对象的内存图:方法的共用 (3)3个对象的内存图:其中有两个引用指向同一个对象
- day06 Java基础
1.二维数组格式一(列固定):数据类型[][] 变量名=new 数据类型[m][n]; 二维数组格式二(列变化):数据类型[][] 变量名=new 数据类型[m][]; 二维数组格式三:数据类型[][ ...
- 黑马程序猿 ---------- Java网络技术之 ---正則表達式 (Day06)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流. ---------------------- 正則表達式 正則表達式:基本知识 1 字符, ...
随机推荐
- BOM——特效
特效 偏移量 offsetParent用于获取定位的父级元素 offsetParent和parentNode的区别 var box = document.getElementById('box'); ...
- struts之ActionServlet
ActionServlet类是Struts框架的内置核心控制器组件,它继承了javax. servlet.http.HttpServlet类,Struts的启动一般从加载ActionServlet开始 ...
- Delphi ADOQuery
Delphi ADOQuery procedure TForm1.Button1Click(Sender: TObject); var A: Array of String;//定义动态数组 Inde ...
- NOIp2018集训test-9-21(am/pm)
Am DAY1 抄代码 送分题 //Achen #include<bits/stdc++.h> #define For(i,a,b) for(int i=(a);i<=(b);i++ ...
- 创建用户的方法 3种mysql创建方法
mysql创建用户的方法分成三种:INSERT USER表的方法.CREATE USER的方法.GRANT的方法. 一.账号名称的构成方式 账号的组成方式:用户名+主机(所以可以出现重复的用户 ...
- JavaScript闭包和回调详解
一.闭包 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 闭包有三个特性: 1.函数嵌套函数; 2.函数内部可以引用外部的参数和变量; 3.参 ...
- hdu多校第十场 1009 (hdu6699) Block Breaker bfs/模拟
题意: 紧密排列的方块因为摩擦力一个一个稳定地挤在一起,但当一个方块的四个邻居中,上下两个至少空缺一个,左右两个至少空缺一个,则这个方块也将掉落. 每次锤掉一个方块,求多少个方块受牵连落下. 题解: ...
- ionic-CSS:ionic 表单和输入框
ylbtech-ionic-CSS:ionic 表单和输入框 1.返回顶部 1. ionic 表单和输入框 list 类同样可以用于 input 元素.item-input 和 item 类指定了文本 ...
- (转)AttributeError: module 'tkinter' has no attribute 'messagebox'
AttributeError: module 'tkinter' has no attribute 'messagebox' improt tkinter from tkinter import * ...
- 去除vim ^M符号
来自: https://zhidao.baidu.com/question/267905868.html 有两种情况,会出现打开的文件都显示^M符号:1. vim被配置为fileformat=unix ...