Java——封装

在这里插入图片描述

面向对象的语言有三大特性:封装、继承和多态。本篇我们只介绍封装。

1.封装的概念

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。
举例:我们的手机就是一个被封装起来的对象。作为使用者,我们无法看到手机内部各种功能的实现细节,仅能通过如充电口这样的接口来进行充电的操作。

2.访问限定符

Java中通过类和访问权限来实现封装:类可以将数据及封装数据的方法结合在一起。而访问权限用来控制方法或字段能否直接在类外使用
以下是四种访问限定符的范围展示:
在这里插入图片描述
✨注:

  • protected主要用在继承中,继承后续详细介绍。
  • default权限又称默认权限。即若类前无访问限定符,则默认为default。
  • 访问权限可以限定类中成员的可见性,也可以控制类的可见性。
  • 一般情况下,成员变量设置为private,成员方法设置为public。

3.包

3.1包的概念

在面向对象的体系中,提出了软件包的概念:为了更好的管理类,把多个类收集在一起,称为软件包。
在Java中,包是对类、接口等的封装机制的体现,是一种对类或者接口等很好的组织方式。
在同一个工程中允许存在相同名称的类,只要处在不同的包中即可。

3.2 导入包中的类

Java中已经提供了很多现成的类提供使用。如:Date类。

方法一

使用java.util.Date,导入java.util包中的Date类。

public class Encapsulation {
    public static void main(String[] args) {
        java.util.Date date=new java.util.Date();
    }
}

方法二

使用import语句导入包。

import java.util.Date;

public class Encapsulation {
    public static void main(String[] args) {
        Date date=new Date();
    }
}

方法三

通过import static导入包中静态的方法和字段。

import static java.lang.Math.*;
public class Test {
    public static void main(String[] args) {
        double x=10;
        double y=10;
        //静态导入的方法可以写起来更加方便
        //double result=Math.sqrt(Math.pow(x,2)+Math.pow(y,2));
        double ret=sqrt(pow(x,2)+pow(y,2));
        System.out.println(ret);
    }    
}

3.3自定义包

除Java本身提供的系统包外,我们也可以自己根据自己的代码自行建立自定义包。
规则:

  1. 在文件的最上方加上package语句指定该代码在哪个包中
  2. 包名需尽量指定成唯一的名字,通常会使用公司的域名的颠倒形式(如:com.happy.demo1
  3. 包名要与代码路径匹配
  4. 若类没有package语句,则该类被放进默认包中。

3.4常见的包

  1. java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。
  2. java.lang.reflect:java 反射编程包;
  3. java.net:进行网络编程开发包。
  4. java.sql:进行数据库开发的支持包。
  5. java.util:是java提供的工具程序包。(集合类等) 非常重要
  6. java.io:I/O编程开发包。

总结

本篇文章介绍了封装的概念以及新的名词:包,希望通过这篇文章读者可以明确相关内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值