Java之路---Day05
2019-10-19-21:09:31
面向对象的封装性
封装性
概念:封装就是将一些细节信息隐藏起来,对于外界不可见
面向对象封装性在Java中的体现
1.方法就是一种封装
public class Packaged {
public static void main(String[] args) {
int[] array = {5,15,20,25,30};//定义一个静态数组
int max = getMax(array);//调用getMax方法,然后赋值给max变量
System.out.println("最大值:"+max);
}
public static int getMax(int[] array){
int max = array[0];//先给定一个最大值,假设第一个元素为最大值
for (int i = 0; i < array.length; i++) {//for循环遍历数组元素
if (array[i] > max){//通过if语句来比较值
max = array[i];//把最大值赋值给max变量
}
}
return max;//返回最大值给调用
}
}
2.关键字private也是一种封装
Private关键字的使用
why:定义某些类时,无法阻止不合理的数值被设置进来,所以用private关键字把需要保护的成员变量进行修饰
注意:
1.使用了private进行修饰,只能在本类中使用,不能超出类的范围
2.间接访问private成员变量,就是要定义一对Getter/Setter方法
This关键字的用法
1.当方法的局部变量和类的成员变量重名时,根据"就近原则",优先使用局部变量
2.如果需要访问本类的成员变量,需要使用格式
this.成员变量名(通过谁调用的方法,谁就是this)
构造方法
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
格式。
public类名称(参数类型参数名称) (
方法体
}
注意事项:
1.构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
2.构造方法不要写返回值类型,连void都不写
3.构造方法不能return一一个具体的返回值
4.如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法。 没有参数、方法体什么事情都不做.
5.一旦编写了至少一个构造方法,那么编译器将不再赠送.
6.构造方法也是可以进行重载的。
重载,方法名称相同,参数列表不同。
public class Private01 {
private String name;
private int age;
public Private01() {//无参构造方法
}
public Private01(String name, int age) {//全参构造方法
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public static void main(String[] args) {
Private01 private01 = new Private01();//无参构造
System.out.println("-----------------");
Private01 private02 = new Private01("张钧甯",26);//全参构造
System.out.println("姓名:"+private02.name+",年龄"+private02.age);
}
}
定义一个标准类
一个标准的类通常要拥有下面四个组成部分:
1.所有的成员变量都要使用private关键字修饰
2.为每一个成员变量编写一对儿Getter/Setter方法
3.编写一个无参数的构造方法
4.编写一个全参数的构造方法
这样的标准类也叫做Java Bean
Java之路---Day05的更多相关文章
- Java之路——名词解释(一)
一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...
- Java之路——敬JAVA初学者(作者:MoMo)
作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊! 要离开学校了,还是想留 ...
- Java之路——环境配置与编译运行
本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...
- Java之路 ——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- 2017-2018-1 JAVA实验站 冲刺 day05
2017-2018-1 JAVA实验站 冲刺 day05 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 进行工作总结 100% 齐力锋 找按钮音乐 100% 张浩林 写博客 100% ...
- 转行自学 Java 之路的纪念册
前言: 最近在重读<小狗钱钱>,我对其中的"成功日记"概念特别深刻,偶尔也会记一记“成功日记”. 想了想人生走找到今天,阶段性“成功日记”有没有呢? 有的!几年前的一篇 ...
- 是什么让我走上Java之路?
选择方向,很多人都为根据自己的兴趣爱好和自己的能力所长而作出选择.那么是什么让我走上Java之路? 整个高三我有两门课程没有听过课,一门是数学,一门是物理.当时候物理没有听课的原因很简单,我有一本&l ...
- 我的Java之路
前言: 之前在学习python,刚开始的时候跟多数小白一样学习一些基础的知识,比如数据类型,用法,基本的语言结构,学了一段时间实在是学习不下去了,真是太TMD的无聊了,很多方法都记不住,也不知道学了这 ...
- Java之路——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
随机推荐
- Intellij idea利用Statistic插件统计项目代码行数
1 . 插件介绍统计项目中各个文件的数量,大小,行数,平均等信息根据扩展名自定义统计详细行数信息 , 包括总行数,代码行数,代码行数占比,注释行数,注释行数占比,空白行数,空白行数占比自定义选择多个文 ...
- [Web] How to Test React and MobX with Jest
转载自: https://semaphoreci.com/community/tutorials/how-to-test-react-and-mobx-with-jest?utm_content=bu ...
- Windows下将网络共享目录挂载到指定文件夹
简述 因为某些原因,设计好的目录结构是不能动的,因此需要将网络共享目录挂载到指定目录下,以便扩容. 在Linux下这完全没有问题,但是Windows下的操作就稍微复杂一点. 1.直接使用net use ...
- HTML5的服务器EventSource(server-sent event)发送事件
参考资料: HTML5的服务器(server-sent event)发送事件有什么应用场景? W3school HTML 5 服务器发送事件 『后台消息推送功能』,前端除了轮询.scoket.第三方服 ...
- MySQL Unknown table engine 'FEDERATED''
Last_SQL_Error: Error 'Unknown table engine 'FEDERATED'' on query. 错误 解决过程: 1.查看当前支持的存储引擎 show en ...
- http状态码610,613
610 请求超时 613 dns解析错误
- Linux内核链表复用实现栈
我们当然可以根据栈的特性,向实现链表一样实现栈.但是,如果能够复用已经经过实践证明的可靠数据结构来实现栈,不是可以更加高效吗? so,今天我们就复用Linux内核链表,实现栈这样的数据结构. 要实现的 ...
- server computer anaconda
star@xmatrix:~/Anaconda$ star@xmatrix:~/Anaconda$ conda create -n wind1 python=3.6Solving environmen ...
- socket 发送字符串0x00时被截断
发送数据如下: aa 02 02 00 00 00 6f 6b 02 00 00 00 55 数据是以字符数组的形式(char msg[])存储发送的,send时发送长度填写的strlen(msg), ...
- Ajax验证
import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactor ...