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的更多相关文章

  1. Java之路——名词解释(一)

    一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...

  2. Java之路——敬JAVA初学者(作者:MoMo)

    作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊!    要离开学校了,还是想留 ...

  3. Java之路——环境配置与编译运行

    本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...

  4. Java之路 ——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

  5. 2017-2018-1 JAVA实验站 冲刺 day05

    2017-2018-1 JAVA实验站 冲刺 day05 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 进行工作总结 100% 齐力锋 找按钮音乐 100% 张浩林 写博客 100% ...

  6. 转行自学 Java 之路的纪念册

    前言: 最近在重读<小狗钱钱>,我对其中的"成功日记"概念特别深刻,偶尔也会记一记“成功日记”. 想了想人生走找到今天,阶段性“成功日记”有没有呢? 有的!几年前的一篇 ...

  7. 是什么让我走上Java之路?

    选择方向,很多人都为根据自己的兴趣爱好和自己的能力所长而作出选择.那么是什么让我走上Java之路? 整个高三我有两门课程没有听过课,一门是数学,一门是物理.当时候物理没有听课的原因很简单,我有一本&l ...

  8. 我的Java之路

    前言: 之前在学习python,刚开始的时候跟多数小白一样学习一些基础的知识,比如数据类型,用法,基本的语言结构,学了一段时间实在是学习不下去了,真是太TMD的无聊了,很多方法都记不住,也不知道学了这 ...

  9. Java之路——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

随机推荐

  1. linux 下查看redis是否启动

    make make PREFIX=/usr/local/redis install mkdir /etc/redis/ cp redis.conf /etc/redis/ 打开redis.conf文件 ...

  2. 【spring源码学习】spring事务中的嵌套事务中的保存点相关知识

    JDBC事务保存点(setSavepoint, releaseSavepoint )实例 以下是使用事务教程中描述的setSavepoint和回滚的代码示例. 此示例代码是基于前面章节中完成的环境和数 ...

  3. Kibana启动后外网访问不了

    问题 Kibana启动后,使用外网访问 http://ip地址:5601 访问不了日志中最后显示 "statusCode":302 ,在控制台 curl http://localh ...

  4. coroutine闲谈

    coroutine居然能被吹到这种地步

  5. Java多线程看这一篇就足够了(吐血超详细总结)

    进程与线程 进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程.多进程操作系统能同时达运行多个进程(程序),由于 ...

  6. 【MongoDB学习之六】MongoDB集群

    环境 MongoDB 4.0 CentOS 6.5_x64 一.主从复制-Master-Slave这种模式已不再推荐使用了. 二.副本集-Replica Set(用的多)副本集其实一种互为主从的关系, ...

  7. 解决chrome浏览器插件开发者模式每次启动要确认弹出框的问题

    在日常工作中,我们经常会用到一些浏览器插件,有些插件因为没上架到浏览器的应用商店,只能以开发者模式运行,但是chrome浏览器出了限制,每次重新启动浏览器的时候,就会弹出该插件是否要禁止运行的对话框, ...

  8. Java之static作用的深度总结

    1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说 ...

  9. 绘制UML图的工具

    目前在用processOn网站进行绘制:https://www.processon.com/ 学习其简单的入门教程: https://www.processon.com/support https:/ ...

  10. 解析Java反射java.lang.IllegalArgumentException: wrong number of arguments

    项目中遇到的问题 import org.springframework.util.ReflectionUtils; import java.lang.reflect.Method; public cl ...