JAVA 包和访问修饰符(韩顺平)

目录

一.包

1.包的基本介绍

2.包的基本语法

3.包的本质

4.包的命名规则和规范

5.常用的包

6.如何引入包

7.举例

8.使用细节

二.访问修饰符

1.四种访问修饰符

2.举例

 3.使用的注意事项


一.包

1.包的基本介绍

a.区分相同名字的类

b.当类很多时,可以很好的管理类(看java API文档)

c.控制访问范围

2.包的基本语法

package com.hspedu;

说明:

1)package关键字,表示打包

2)com.hspedu;表示包名

3.包的本质

4.包的命名规则和规范

1)规则:只能包含数字,字母,下划线,小圆点,但不能用数字开头,不能时关键字和保留字

eg:demo.class.exec1//错误 class时关键字

demo.12a//错误 12a时数字开头

2)规范:一般时com.公司名.项目名.业务模块名

eg:com.sina.crm.user//用户模块

5.常用的包

1)java.lang.* //lang包时基本包,默认引入,不需要在引入

2)java.util.* //util 包,系统提供的工具包,工具类,使用Scanner

3)java.net.* //网络包,网络开发

4)java.awt.*//是做java的界面开发,GUI

补充:.*表示该包下面所有的类

6.如何引入包

语法:import 包;

eg:import java.util.Scanner;

7.举例

1)输出俩个Dog包中类的属性

创建两个Dog包

引用并输入类的属性

package com.use;

import com.xiaoqiang.Dog;
//import com.xiaoming.Dog;//错误不能同时引入相同类名
public class Test {
    public static void main(String[] args) {

        Dog dog = new Dog();
        System.out.println(dog);

        com.xiaoming.Dog dog1 = new com.xiaoming.Dog();
        System.out.println(dog1);
    }
}

2)用Arrays进行排序

package com.hspedu.pkg;

import java.util.Arrays;

public class import01 {
    public static void main(String[] args) {
        int[] arr = {-1,20,2,13,32,0};
        //进行排序
        //传统方法是,自己编写程序排序(比如冒泡)
        //系统是提供了相关类,可以进行排序
        Arrays.sort(arr);
        //输出结果
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

8.使用细节

//package的作用是声明当前类所在的包,需要放在类的最上面
//一个类中最多只有一个package
package com.hspedu.pkg;

//import指令 位置放在package的下面,在类定义前面,可以有多句且没有顺序要求
import java.util.Arrays;
import java.util.Scanner;
//...

//老韩建议:我们需要什么类就导入哪个类即可,不建议使用*的方式引入
//import java.util.Scanner;//表示只会引入java.util包下的Scanner
//import java.util.*;//表示将java.util包下的所有类都引入

//类定义
public class pkgdetail {
    public static void main(String[] args) {

        Scanner myscanner = new Scanner(System.in);
        int[] arr = {2,31,0,2};
        Arrays.sort(arr);
    }
}

二.访问修饰符

java提供四种访问控制修饰符号,用于控制方法和属性的访问权限

1.四种访问修饰符

1)公开级别:用public修饰,对外公开

2)受保护级别:用protected修饰,对子类和同一个包中的类公开

3)默认级别:没有修饰符号,向同一个包的类公开

4)私有级别:用private修饰,只有类本身可以访问,不对外公开

重点,背下来。

2.举例

在A类中定义属性并初始化,在modifier包中的B和test进行引用,在pkg包中test进行引用 

 在A类中

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(){
        //该方法可以访问四个属性
        System.out.println(n1 + " "+ n2+" "+n3+" "+n4);
    }
}

在B类中

package com.hspedu.modifier;

public class B {
    public void say(){
        A a = new A();
        //在同一个包下,可以访问public,protected和默认,不能访问private
        System.out.println(a.n1+" "+a.n2+" "+a.n3);
    }
}

在modifier包中test 和 输出结果

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();
    }
}

 在pkg包中test 和 输出结果

package com.hspedu.pkg;

import com.hspedu.modifier.A;

public class test {
    public static void main(String[] args) {
        A a = new A();
        //在不同包下,可以访问public修饰的属性或方法
        //但是不能访问其他修饰符修饰的属性或方法
        System.out.println(a.n1);
    }
}

 3.使用的注意事项

1)修饰符可以用来修饰类中的属性,成员方法以及类

2)只有默认的和public才能修饰类!,并且遵循上述访问权限的特点

3)成员方法的访问规则和属性完全一样

4)一个Java文件中只能有一个public类

5)如果文件中不止一个类,文件名必须与public类名一致

子类的访问权限在继承的概述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值