JAVA面向对象 封装

java中什么是类

类其实是个模板,是一个具有共同特点的集合。比如说
饮料:都有包装,都有颜色,都有味道,都是被喝的东西。
这些都行都是抽象出来的属性和行为。

类的构成

类是由抽象出的属性和行为组成的对一种实物的描述,
实物的属性是类的成员变量,实物的行为是类的方法。
创建一个Test类
声明一个变量,name
声明一个方法,remidnd()
在这里插入图片描述

什么是对象

在这里插入图片描述

我们如何在代码中表示一个现实世界事物属性和行为。属性和行为是物体的模板,那么我们把这个模板进行填充,如:属性是颜色,我们把颜色填充成白色,属性是形状,我们把形状填充成圆柱体行为是点燃,那么把行为填充成燃烧红色的火焰那么我们就得出了一个结果:白色的圆柱体可以燃烧红色的火焰 得到的就是上图的蜡烛。

类的概念

类的实质是一种数据类型,类似于int、char等基本类型,不同的是它是一种复杂的数据类型。因为它的本质是类型,而不是数据,所以不存在于内存中,不能被直接操作,只有被实例化为对象时,才会变得可操作。

对象的概念

现实世界中任何物体都能被当作是对象,不过在正常开发的时候通常只是在一定的范围去考虑和认识与系统相关的事物并用系统中对象抽象的表示他们

对象和类的关系

在这里插入图片描述

封装的概念

在面向对象程式设计方法中,封装是指一种将抽象性函数式接口的实现细节部分包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。

封装的作用

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

封装的优点

在这里插入图片描述

public class Person{
      private String name;
      private int age;
}

这段代码中,将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
—— 关键字 private
封装的快捷键 alt加insert键

public class Person{
      private String name;
      private int age;
      public String getName(){
	return  name;
      }
      public int getAge(){
	return  age;
      }
      public void setName(String name){
     	this.name = name; 
     }
      public void setAge(int age){
     	this.age= age; 
     }
}

java中的修饰符
在这里插入图片描述

访问控制修饰符

  1. default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法
  2. private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类
  3. public : 对所有类可见。使用对象:类、接口、变量、方法
  4. protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

非访问修饰符

常用的非访问修饰符有以下几种:

  1. static 修饰符,用来修饰类方法和类变量
  2. final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的
  3. abstract 修饰符,用来创建抽象类和抽象方法
  4. synchronized 修饰符,主要用于线程的编程,synchronized 关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符
  5. volatile 修饰符,volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值