【JavaSE】--封装与包

目录

什么是封装

 什么是包

自定义包

常见的包


什么是封装

面向对象的三大特点是封装继承与多态

封装:将数据和操作数据的方法有机的结合,隐藏对象的属性和实现细节,仅对外公开接口来实现和对象对象的交互,对类实现的细节实现了隐藏。

比如说对于一个电脑使用者来说,计算机厂家只会提供一个接口,实现用过键盘与计算机进行交互即可,而内部的核心部件,CPU,线路等都会被套的外壳封装起来。

在弄清楚封装之前,先来了解一下public与private

这个两个关键字都是Java当中的访问,访问修饰限定符,决定使用的权限

public指的是公开的,也就是使用权限很大,任何状态下都能使用

private是指私有的,不公开的,有更好的安全性,使用权限只是在一个类当中

虽然无法直接访问private修饰的成员变量,但是可以通过其他public修饰的方法间接访问被封装的方法。

class Person {
    private String name ;
    private int age ;
    String sex;//默认的:包访问权限

    public Person() {
        System.out.println("不带参数的构造方法!");
    }
    public Person(String name,int age) {
        this.name = name;
        this.age = age;
        System.out.println("带2个参数的构造方法!");
    }

    public void setName(String name) {
        this.name = name;
    }

    private void sleep() {
        System.out.println(this.name+" 正在吃饭!");
    }

    public void eat() {
        this.sleep();
    }

}

 什么是包

在面向对象体系中,提出了一个软件包的概念,即: 为了更好的管理类,把多个类收集在一起成为一组,称为软件 包。

Java 中已经提供了很多现成的类供我们使用 . 例如 Date 类:可以使用 java.util.Date 导入 java.util 这个包中的 Date类.
import java . util . Date 就代表在这个文件里导入java.util包中名为Date的这个类
也可以java.util.Date date = new java.util.Date()导入包
如果需要使用 java.util 中的其他类 , 可以使用 import java.util.*但是我们 更建议显式的指定要导入的类名 . 否则还是容易出现冲突 的情况 .
例:
import java . util . * ;
import java . sql . * ;
util sql 中都存在一个 Date 这样的类 , 此时就会出现歧义 , 编译出错
可以使用 import static 导入包中静态的方法和字段。
import static java.lang.Math.*;
public class Test {
public static void main(String[] args) {
double x = 30;
double y = 40; 
// 静态导入的方式写起来更方便一些. 
// double result = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
double result = sqrt(pow(x, 2) + pow(y, 2)); 
System.out.println(result);
 } 
}

自定义包

IDEA 中先新建一个包: 右键 src -> 新建 ->

 1.在文件的最上方加上一个 package 语句指定该代码在哪个包中.

2.包名需要尽量指定成唯一的名字 , 通常会用公司的域名的颠倒形式 ( 例如 com.bit.demo1 ).
3.包名要和代码路径相匹配 . 例如创建 com.bit.demo1 的包 , 那么会存在一个对应的路径 com/bit/demo1 来存储 代码.
4.如果一个类没有 package 语句 , 则该类被放到一个默认包中 .

默认权限就是包访问权限

常见的包

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

猜你喜欢

转载自blog.csdn.net/m0_64332179/article/details/123899192
今日推荐