java_包、访问修饰符

在这里插入图片描述

包的本质分析

实际上就是 创建不同的文件夹/目录来保存类文件,画出示意图
在这里插入图片描述

包的命名

在这里插入图片描述

常用的包

一个包下,包含很多的类,java 中常用的包有:

  1. java.lang.* //lang 包是基本包,默认引入,不需要再引入. 2) java.util.* //util 包,系统提供的工具包, 工具类,使用 Scanner
  2. java.net.* //网络包,网络开发
  3. java.awt.* //是做 java 的界面开发,GUI

注意事项和使用细节

在这里插入图片描述

package com.hspedu.pkg;

//注意:
//我们需要使用到哪个类,就导入哪个类即可,不建议使用 *导入
//import java.util.Scanner;//表示只会引入java.util包下的Scanner
//import java.util.*;//表示将 java.util 包下的所有类都引入(导入)

import java.util.Arrays;


public class Import01 {
    public static void main(String[] args) {
//使用系统提供 Arrays 完成 数组排序
        int[] arr = {-1, 20, 2, 13, 3};
//比如对其进行排序
//传统方法是,自己编写排序(冒泡)
//系统是提供了相关的类,可以方便完成 Arrays
        Arrays.sort(arr);
//输出排序结果
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
    }
}

//package 的作用是声明当前类所在的包,需要放在类(或者文件)的最上面,
// 一个类中最多只有一句 package
package com.hspedu.pkg;
//import 指令 位置放在 package 的下面,在类定义前面,可以有多句且没有顺序要求
import java.util.Scanner;
import java.util.Arrays;


//类定义
public class PkgDetail {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] arr = {0,3,23,-1,100};
        Arrays.sort(arr);
    }
}

访问修饰符

基本介绍

java 提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):

  1. 公开级别:用 public 修饰,对外公开
  2. 受保护级别:用 protected 修饰,对子类和同一个包中的类公开
  3. 默认级别:没有修饰符号,向同一个包的类公开.
  4. 私有级别:用 private 修饰,只有类本身可以访问,不对外公开.

访问修饰符的访问范围(背下来!)

在这里插入图片描述

使用注意事项

在这里插入图片描述

package com.hspedu.modifier;

public class A {
    //四个属性,分别使用不同的访问修饰符来修饰
    public int n1 = 100;
    protected int n2 = 200;
    int n3 = 300;
    private int n4 = 400;
    public void m1() {
        //在同一类中,可以访问 public protected 默认 private 修饰属性和方法
        System.out.println("n1=" + n1 + " n2=" + n2 + " n3=" + n3 + " n4=" + n4);
    }

    protected void m2() { }
    void m3() { }
    private void m4() { }
    public void hi() {
        //在同一类中,可以访问 public protected 默认 private 修饰属性和方法
        m1();
        m2();
        m3();
        m4();
    }
}
package com.hspedu.modifier;

public class B {
    public void say() {
        A a = new A();
        //在同一个包下,可以访问 public , protected 和 默认修饰属性或方法,不能访问 private 属性或方法
        System.out.println("n1=" + a.n1 + " n2=" + a.n2 + " n3=" + a.n3 );
        a.m1();
        a.m2();
        a.m3();
        //a.m4(); 错误的
    }
}   
package com.hspedu.modifier;
public class Test {
    public static void main(String[] args) {
        A a = new A();
        a.m1();
        B b = new B();
        b.say();
    }
}

//只有 默认和 public 可以修饰类
class Tiger{ }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHppGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值